[MOD] hr_* : applied changes from usability branch
[odoo/odoo.git] / addons / hr_expense / hr_expense_view.xml
1 <?xml version="1.0" encoding="utf-8"?>
2 <openerp>
3     <data>
4
5         <!-- Expenses -->
6
7         <record id="view_expenses_line_tree" model="ir.ui.view">
8             <field name="name">hr.expense.line.tree</field>
9             <field name="type">tree</field>
10             <field name="model">hr.expense.line</field>
11             <field name="arch" type="xml">
12                 <tree string="Expense Lines">
13                     <field name="date_value"/>
14                     <field name="name"/>
15                     <field name="ref"/>
16                     <field domain="[('type','=','normal'), ('parent_id','!=',False)]" name="analytic_account" groups="analytic.group_analytic_accounting"/>
17                     <field name="unit_amount"/>
18                     <field name="unit_quantity"/>
19                     <field name="total_amount"/>
20                 </tree>
21             </field>
22         </record>
23
24         <record id="view_expenses_tree" model="ir.ui.view">
25             <field name="name">hr.expense.expense.tree</field>
26             <field name="model">hr.expense.expense</field>
27             <field name="type">tree</field>
28             <field name="arch" type="xml">
29                 <tree string="Expenses" colors="blue:state=='draft'">
30                     <field name="employee_id"/>
31                     <field name="user_id" invisible="1"/>
32                     <field name="department_id" groups="base.group_extended"/>
33                     <field name="name"/>
34                     <field name="date"/>
35                     <field name="ref"/>
36                     <field name="amount"/>
37                     <field name="state"/>
38                     <button name="confirm" states="draft" string="Confirm" type="workflow" icon="gtk-apply"/>
39                     <button name="refuse" states="confirm,draft,accepted" string="Refuse" type="workflow" icon="gtk-no"/>
40                 </tree>
41             </field>
42         </record>
43
44         <record id="view_editable_expenses_tree" model="ir.ui.view">
45             <field name="name">hr.expense.expense.tree</field>
46             <field name="model">hr.expense.expense</field>
47             <field name="type">tree</field>
48             <field name="arch" type="xml">
49                 <tree colors="blue:state in ('draft');black:state in ('confirm','accepted','invoiced','paid');gray:state in('cancelled')"  string="Expenses" editable="top">
50                     <field name="date"/>
51                     <field name="employee_id"/>
52                     <field name="department_id" groups="base.group_extended"/>
53                     <field name="ref"/>
54                     <field name="name"/>
55                     <field name="amount"/>
56                     <field name="state"/>
57                     <button name="confirm" states="draft" string="Confirm" type="workflow" icon="gtk-apply"/>
58                     <button name="refuse" states="confirm,draft,accepted" string="Refuse" type="workflow" icon="gtk-no"/>
59                 </tree>
60             </field>
61         </record>
62
63         <record id="view_expenses_form" model="ir.ui.view">
64             <field name="name">hr.expense.form</field>
65             <field name="type">form</field>
66             <field name="model">hr.expense.expense</field>
67             <field name="arch" type="xml">
68                 <form string="Expenses Sheet">
69                     <group colspan="4" col="6">
70                         <field name="employee_id" on_change="onchange_employee_id(employee_id)"/>
71                         <field name="name" select="1"/>
72                         <field name="ref" groups="base.group_extended"/>
73                         <field name="date" select="1"/>
74                         <field name="amount"/>
75                         <field name="currency_id"/>
76                         <field name="department_id" groups="base.group_extended"/>
77                         <field name="company_id" groups="base.group_multi_company"/>
78                     </group>
79                     <notebook colspan="4">
80                         <page string="Description">
81                             <newline/>
82                             <field colspan="4" name="line_ids" nolabel="1">
83                                 <form string="Expense Lines">
84                                     <field name="product_id" on_change="onchange_product_id(product_id, uom_id, parent.employee_id)"/>
85                                     <field name="uom_id" on_change="onchange_product_id(product_id, uom_id, parent.employee_id)" widget="selection"/>
86                                     <field name="name" />
87                                     <field name="date_value" />
88                                     <field name="unit_quantity"/>
89                                     <field name="unit_amount"/>
90                                     <field name="ref"/>
91                                     <field name="sequence" groups="base.group_extended"/>
92                                     <field domain="[('type','=','normal'), ('parent_id','!=',False)]" name="analytic_account" groups="base.group_extended"/>
93                                     <newline/>
94                                     <field name="total_amount"/>
95                                 </form>
96                             </field>
97                             <field name="state"/>
98                             <group col="6" colspan="2">
99                                 <button name="confirm" states="draft" string="Confirm" type="workflow" icon="gtk-apply"/>
100                                 <button name="cancel" states="cancel" string="Cancel" type="workflow" icon="gtk-cancel"/>
101                                 <button name="draft" states="confirm,cancelled" string="Set to Draft" type="workflow" icon="gtk-convert"/>
102                                 <button name="validate" states="confirm" string="Approve" type="workflow" icon="terp-camera_test"/>
103                                 <button name="invoice" states="accepted" string="Invoice" type="workflow" icon="gtk-execute"/>
104                                 <button name="refuse" states="confirm,draft,accepted" string="Refuse" type="workflow" icon="gtk-no" groups="base.group_hr_manager" />
105                             </group>
106                         </page>
107                         <page string="Other Info" groups="base.group_extended">
108                             <group col="2" colspan="2">
109                             <separator colspan="2" string="Accounting data"/>
110                             <field name="journal_id"/>
111                             <field name="invoice_id"/>
112                             </group>
113                             <group col="2" colspan="2">
114                             <separator colspan="2" string="Validation"/>
115                             <field name="date_confirm" readonly = "1"/>
116                             <field name="date_valid" readonly = "1"/>
117                             <field name="user_valid"/>
118                             </group>
119                             <separator colspan="4" string="Notes"/>
120                             <field colspan="4" name="note" nolabel="1"/>
121                         </page>
122                     </notebook>
123                 </form>
124             </field>
125         </record>
126
127
128         <record id="view_hr_expense_filter" model="ir.ui.view">
129             <field name="name">hr.expense.expense.filter</field>
130             <field name="model">hr.expense.expense</field>
131             <field name="type">search</field>
132             <field name="arch" type="xml">
133                 <search string="Expense">
134                     <group>
135                       <filter icon="terp-document-new" domain="[('state','=','draft')]" string="Draft" help="Draft Expense"/>
136                       <separator orientation="vertical"/>
137                       <filter icon="terp-camera_test" domain="[('state','=','confirm')]" string="To Approve"
138                         help="Confirmed Expense"/>
139                       <filter icon="terp-dolar" domain="[('state','=','accepted')]" string="To Pay"
140                         help="Expenses to Invoice"/>
141                       <separator orientation="vertical"/>
142                       <filter icon="terp-go-month" string="This Month" name="this"
143                               domain="[('date','&lt;=', time.strftime('%%Y-%%m-%%d')), ('date','&gt;',(datetime.date.today()-datetime.timedelta(days=30)).strftime('%%Y-%%m-%%d'))]"/>
144                       <separator orientation="vertical"/>
145                       <field name="employee_id" select='1'/>
146                       <field name="name" select='1'/>
147                       <field name="date" select='1'/>
148                       <field name="user_id"  string="User" invisible="True">
149                       <filter icon="terp-personal+" domain="[('department_id','=',context.get('department_id',False))]"
150                             string="Expenses of My Department"/>
151                       </field>
152                       <field name="department_id" widget="selection" string="Department" context="{'invisible_department': False}">
153                    <filter icon="terp-personal+" context="{'invisible_department': False}" domain="[('department_id','=',context.get('department_id',False))]" help="My Department"/>
154                </field>
155                 </group>
156                 <newline />
157                 <group expand="0" string="Group By...">
158                     <filter string="Employee" icon="terp-personal" domain="[]" context="{'group_by':'employee_id'}"/>
159                     <separator orientation="vertical"/>
160                     <filter string="Department" icon="terp-personal+" domain="[]" context="{'group_by':'department_id'}"/>
161                     <separator orientation="vertical"/>
162                     <filter string="Month" icon="terp-go-month" domain="[]" context="{'group_by':'date'}"/>
163                 </group>
164                 </search>
165             </field>
166         </record>
167
168         <record id="expense_all" model="ir.actions.act_window">
169             <field name="name">Expenses</field>
170             <field name="res_model">hr.expense.expense</field>
171             <field name="view_type">form</field>
172             <field name="context">{"search_default_user_id":uid,"search_default_department_id": department_id,"search_default_this":1}</field>
173             <field name="search_view_id" ref="view_hr_expense_filter"/>
174             <field name="help">The OpenERP expenses management module allows you to track the full flow. Every month, the employees record their expenses. At the end of the month, their managers validates the expenses sheets which creates costs on projects/analytic accounts. The accountant validates the proposed entries and the employee can be reimbursed. You can also reinvoice the customer at the end of the flow.</field>
175         </record>
176
177         <menuitem id="next_id_49" name="Expenses" sequence="4" parent="hr.menu_hr_root"/>
178         <menuitem action="expense_all" id="menu_expense_all" name="Expenses" parent="next_id_49"/>
179
180         <record id="view_product_hr_expense_form" model="ir.ui.view">
181             <field name="name">product.product.expense.form</field>
182             <field name="model">product.product</field>
183             <field name="inherit_id" ref="product.product_normal_form_view"/>
184             <field name="type">form</field>
185             <field name="arch" type="xml">
186             <field name="purchase_ok" position="after">
187                <field name="hr_expense_ok"/>
188             </field>
189             </field>
190         </record>
191
192     </data>
193 </openerp>