[IMP]Remove type field from the whole hr module
[odoo/odoo.git] / addons / hr_timesheet_sheet / hr_timesheet_sheet_view.xml
1 <?xml version="1.0" encoding="utf-8"?>
2 <openerp>
3     <data>
4
5         <record id="hr_timesheet_account_form" model="ir.ui.view">
6             <field name="name">hr.timesheet.account.form</field>
7             <field name="model">hr_timesheet_sheet.sheet.account</field>
8             <field name="arch" type="xml">
9                 <form string="Timesheet by Accounts" version="7.0">
10                     <group col="4">
11                         <field name="sheet_id"/>
12                         <field name="name" groups="analytic.group_analytic_accounting"/>
13                         <field name="total" sum="Total"/>
14                         <field name="invoice_rate"/>
15                     </group>
16                 </form>
17             </field>
18         </record>
19         <record id="hr_timesheet_account_filter" model="ir.ui.view">
20             <field name="name">hr.timesheet.account.filter</field>
21             <field name="model">hr_timesheet_sheet.sheet.account</field>
22             <field name="arch" type="xml">
23                 <search string="Search Account">
24                     <field name="name" groups="analytic.group_analytic_accounting"/>
25                     <field name="invoice_rate"/>
26                     <field name="sheet_id" />
27                 </search>
28             </field>
29         </record>
30         <record id="hr_timesheet_account_tree" model="ir.ui.view">
31             <field name="name">hr.timesheet.account.tree</field>
32             <field name="model">hr_timesheet_sheet.sheet.account</field>
33             <field name="arch" type="xml">
34                 <tree string="Timesheet by Accounts">
35                     <field name="sheet_id"/>
36                     <field name="name" groups="analytic.group_analytic_accounting"/>
37                     <field name="total" sum="Total"/>
38                     <field name="invoice_rate"/>
39                 </tree>
40             </field>
41         </record>
42
43         <record id="hr_timesheet_sheet_form" model="ir.ui.view">
44             <field name="name">hr.timesheet.sheet.form</field>
45             <field name="model">hr_timesheet_sheet.sheet</field>
46             <field name="arch" type="xml">
47                 <form string="Timesheet" version="7.0">
48                 <header>
49                     <button name="button_confirm" states="draft" string="Submited to Manager" type="object" class="oe_highlight"/>
50                     <button name="done" states="confirm" string="Approve" type="workflow" groups="base.group_hr_user" class="oe_highlight"/>
51                     <button name="action_set_to_draft" states="done" string="Set to Draft" type="object" />
52                     <button name="cancel" states="confirm" string="Refuse" type="workflow" groups="base.group_hr_user" />
53                     <field name="state" widget="statusbar" statusbar_visible="new,confirm,done"/>
54                 </header>
55                 <sheet>
56                     <label for="employee_id" class="oe_edit_only"/>
57                     <h1><field name="employee_id" on_change="onchange_employee_id(employee_id)"/></h1>
58                     <label for="date_from" class="oe_edit_only" string="Timesheet Period"/>
59                     <h2>From <field name="date_from"/> to <field name="date_to"/></h2>
60                     <group>
61                         <group>
62                             <field name="name"/>
63                             <field name="department_id"/>
64                             <field name="company_id" groups="base.group_multi_company"/>
65                         </group>
66                         <group>
67                             <field name="total_attendance" widget="float_time"/>
68                             <field name="total_timesheet" widget="float_time"/>
69                             <field name="total_difference" widget="float_time"/>
70                             <field name="user_id" invisible="1"/>
71                         </group>
72                     </group>
73                     <notebook>
74                         <page string="Daily">
75                             <group>
76                                 <div>
77                                     <button name="button_dummy" class="oe_inline" string="Go to" type="object" icon="terp-gtk-jump-to-ltr"/> :
78                                     <field name="date_current" class="oe_inline"/>
79                                 </div>
80                                 <div align="right">
81                                     <button class="oe_inline" icon="terp-gtk-go-back-ltr" name="date_previous" string="" type="object"/>
82                                     <button class="oe_inline" name="date_today" string="Today" type="object" icon="terp-go-today"/>
83                                     <button class="oe_inline" icon="terp-gtk-go-back-rtl" name="date_next" string="" type="object"/>
84                                 </div>
85                             </group>
86                             <group colspan="4" col="3">
87                                 <field context="{'name':date_current,'user_id':user_id}" name="attendances_ids" nolabel="1">
88                                     <tree string="Attendances" editable="bottom">
89                                         <field name="name"/>
90                                         <field name="action"/>
91                                         <field invisible="1" name="employee_id"/>
92                                     </tree>
93                                 </field>
94                                 <group>
95                                     <div align="right">
96                                         <button name="sign_in" string="Sign In" type="object" icon="terp-gtk-jump-to-ltr"/>
97                                         <button name="sign_out" string="Sign Out" type="object" icon="terp-gtk-jump-to-rtl"/>
98                                     </div>
99                                 </group>
100                             </group>
101                             <group col="4">
102                                 <field name="state_attendance"/>
103                             </group>
104                             <field colspan="4" context="{'date':date_current,'user_id':user_id}" domain="[('name','=',date_current)]" name="timesheet_ids" nolabel="1">
105                                 <tree editable="top" string="Timesheet Lines">
106                                     <field invisible="1" name="date"/>
107                                     <field domain="[('type','in',['normal', 'contract']), ('state', '&lt;&gt;', 'close'),('use_timesheets','=',1)]" name="account_id" on_change="on_change_account_id(account_id)" context="{'default_use_timesheets': 1}"/>
108                                     <field name="name"/>
109                                     <field name="unit_amount" on_change="on_change_unit_amount(product_id, unit_amount, False, product_uom_id,journal_id)" widget="float_time"/>
110                                     <field name="to_invoice" widget="selection"/>
111                                     <field invisible="1" name="journal_id"/>
112                                     <field invisible="1" name="product_id" domain="[('type','=','service')]" on_change="on_change_unit_amount(product_id, unit_amount, False, product_uom_id,journal_id)"/>
113                                     <field invisible="1" name="product_uom_id" on_change="on_change_unit_amount(product_id, unit_amount, False, product_uom_id,journal_id)"/>
114                                     <field invisible="1" name="amount"/>
115                                     <field invisible="1" name="general_account_id"/>
116                                     <field invisible="1" name="user_id" required="1"/>
117                                 </tree>
118                                 <form string="Timesheet Lines" version="7.0">
119                                     <field name="date"/>
120                                     <field domain="[('type','=','normal'), ('state', '&lt;&gt;', 'close')]" name="account_id" on_change="on_change_account_id(account_id)"/>
121                                     <field name="name"/>
122                                     <field name="unit_amount" on_change="on_change_unit_amount(product_id, unit_amount, False, product_uom_id,journal_id)" widget="float_time"/>
123                                     <field name="to_invoice"/>
124                                     <field name="journal_id"/>
125                                     <field name="product_id" domain="[('type','=','service')]" on_change="on_change_unit_amount(product_id, unit_amount, False, product_uom_id,journal_id)"/>
126                                     <field name="product_uom_id" on_change="on_change_unit_amount(product_id, unit_amount, False, product_uom_id,journal_id)"/>
127                                     <field name="amount"/>
128                                     <field name="general_account_id"/>
129                                     <field name="user_id" required="1"/>
130                                 </form>
131                             </field>
132                         </page>
133                         <page string="Summary">
134                             <field colspan="4" name="period_ids" nolabel="1">
135                                 <tree colors="red:total_difference&lt;0.1;blue:total_difference&gt;=0.1" string="Period">
136                                     <field name="name"/>
137                                     <field name="total_attendance" widget="float_time"/>
138                                     <field name="total_timesheet" widget="float_time"/>
139                                     <field name="total_difference" widget="float_time"/>
140                                 </tree>
141                             </field>
142                         </page>
143                     </notebook>
144                 </sheet>
145                 </form>
146             </field>
147         </record>
148
149         <record id="view_hr_timesheet_sheet_filter" model="ir.ui.view">
150             <field name="name">hr_timesheet_sheet.sheet.filter</field>
151             <field name="model">hr_timesheet_sheet.sheet</field>
152             <field name="arch" type="xml">
153                 <search string="Search Timesheet">
154                     <field name="date_from"/>
155                     <filter icon="terp-document-new" string="In Draft" domain="[('state','in',('draft', 'new'))]" help="Unvalidated Timesheets"/>
156                     <filter icon="terp-camera_test" string="To Approve" domain="[('state','=','confirm')]" help="Confirmed Timesheets"/>
157                     <field name="employee_id"/>
158                     <field name="department_id"/>
159                     <group expand="0" string="Group By...">
160                         <filter string="Employees" icon="terp-personal" domain="[]" context="{'group_by':'employee_id'}"/>
161                         <filter string="Department" icon="terp-personal+" domain="[]" context="{'group_by':'department_id'}"/>
162                     </group>
163                 </search>
164             </field>
165         </record>
166
167         <record id="act_hr_timesheet_sheet_form" model="ir.actions.act_window">
168             <field name="name">Timesheets</field>
169             <field name="type">ir.actions.act_window</field>
170             <field name="res_model">hr_timesheet_sheet.sheet</field>
171             <field name="view_type">form</field>
172             <field name="view_id" eval="False"/>
173             <field name="context">{'search_default_my_timesheet':1}</field>
174             <field name="search_view_id" ref="view_hr_timesheet_sheet_filter"/>
175             <field name="help" type="html">
176               <p class="oe_view_nocontent_create">
177                 Click to go to your timesheet. 
178               </p><p>
179                 You must record timesheets every day and confirm at the end
180                 of the week. Once the timesheet is confirmed, it his sent to
181                 the manager for validation.
182               </p><p>
183                 Timesheets can also be invoiced to customers, depending on the
184                 configuration of the project.
185               </p>
186             </field>
187         </record>
188
189         <menuitem action="act_hr_timesheet_sheet_form" id="menu_act_hr_timesheet_sheet_form" parent="hr_attendance.menu_hr_time_tracking"
190              sequence="2" groups="base.group_hr_user,base.group_hr_manager"/>
191
192         <!--
193             Company inheritancy
194         -->
195
196         <record id="hr_timesheet_sheet_company" model="ir.ui.view">
197             <field name="name">res.company.sheet</field>
198             <field name="model">res.company</field>
199             <field name="inherit_id" ref="base.view_company_form"/>
200             <field name="arch" type="xml">
201                 <xpath expr="//group[@name='account_grp']" position="after">
202                     <group name="timesheets_grp" string="Timesheets">
203                         <field name="timesheet_range"/>
204                         <field name="timesheet_max_difference"/>
205                     </group>
206                 </xpath>
207             </field>
208         </record>
209
210         <!--
211             hr.analytic.timesheet inheritancy
212         -->
213
214         <record id="hr_timesheet_line_form" model="ir.ui.view">
215             <field name="name">hr.analytic.timesheet.form</field>
216             <field name="model">hr.analytic.timesheet</field>
217             <field name="inherit_id" ref="hr_timesheet.hr_timesheet_line_form"/>
218             <field name="arch" type="xml">
219                 <field name="date" position="after">
220                     <field name="sheet_id" />
221                 </field>
222             </field>
223         </record>
224
225         <record id="hr_timesheet_line_search" model="ir.ui.view">
226             <field name="name">hr.analytic.timesheet.search</field>
227             <field name="model">hr.analytic.timesheet</field>
228             <field name="inherit_id" ref="hr_timesheet.hr_timesheet_line_search"/>
229             <field name="arch" type="xml">
230                 <field name="date" position="before">
231                     <field name="sheet_id"/>
232                 </field>
233             </field>
234         </record>
235
236         <!--
237             hr.attendance inheritancy
238         -->
239
240         <record model="ir.ui.view" id="view_hr_attendance_filter">
241             <field name="name">view_hr_attendance_filter</field>
242             <field name="model">hr.attendance</field>
243             <field name="inherit_id" ref="hr_attendance.view_hr_attendance_filter" />
244             <field name="arch" type="xml">
245                 <field name="employee_id" position="after">
246                     <field name="sheet_id"/>
247                 </field>
248             </field>
249         </record>
250
251         <record id="view_attendance_form" model="ir.ui.view">
252             <field name="name">hr.attendance.form</field>
253             <field name="model">hr.attendance</field>
254             <field name="inherit_id" ref="hr_attendance.view_attendance_form"/>
255             <field name="arch" type="xml">
256                 <field name="action_desc" position="after">
257                     <field name="sheet_id"/>
258                 </field>
259             </field>
260         </record>
261         <record id="view_attendance_tree" model="ir.ui.view">
262             <field name="name">hr.attendance.tree</field>
263             <field name="model">hr.attendance</field>
264             <field name="inherit_id" ref="hr_attendance.view_attendance_tree"/>
265             <field name="arch" type="xml">
266                 <field name="action" position="after">
267                     <field name="sheet_id"/>
268                 </field>
269             </field>
270         </record>
271         <record id="view_attendance_tree_who" model="ir.ui.view">
272             <field name="name">hr.attendance.tree</field>
273             <field name="model">hr.attendance</field>
274             <field name="inherit_id" ref="hr_attendance.view_attendance_who"/>
275             <field name="arch" type="xml">
276                 <field name="action" position="after">
277                     <field name="sheet_id"/>
278                 </field>
279             </field>
280         </record>
281
282         <act_window
283         context="{'search_default_sheet_id': [active_id]}"
284         id="act_hr_timesheet_sheet_sheet_by_account"
285         name="Timesheet by Account"
286         res_model="hr_timesheet_sheet.sheet.account"
287         src_model="hr_timesheet_sheet.sheet"/>
288
289         <act_window
290         context="{'search_default_sheet_id': [active_id]}"
291         id="act_hr_timesheet_sheet_sheet_by_day"
292         name="Timesheet by Day"
293         res_model="hr_timesheet_sheet.sheet.day"
294         src_model="hr_timesheet_sheet.sheet"/>
295
296         <act_window
297         context="{'search_default_sheet_id': [active_id]}"
298         id="act_hr_timesheet_sheet_sheet_2_hr_analytic_timesheet"
299         name="Timesheet Lines"
300         res_model="hr.analytic.timesheet"
301         src_model="hr_timesheet_sheet.sheet"/>
302
303
304         <act_window
305         context="{'search_default_sheet_id': [active_id]}"
306         id="act_hr_timesheet_sheet_sheet_2_hr_attendance"
307         name="Attendances"
308         res_model="hr.attendance"
309         src_model="hr_timesheet_sheet.sheet"/>
310
311         <record id="hr_timesheet_sheet_tree_simplified" model="ir.ui.view">
312             <field name="name">hr.timesheet.sheet.tree</field>
313             <field name="model">hr_timesheet_sheet.sheet</field>
314             <field eval="10" name="priority"/>
315             <field name="arch" type="xml">
316                 <tree colors="blue:state == 'draft';black:state in ('confirm','new');gray:state == 'done'" string="Timesheets">
317                     <field name="employee_id"/>
318                     <field name="date_from"/>
319                     <field name="date_to"/>
320                     <field name="department_id"/>
321                     <field name="total_attendance" widget="float_time"/>
322                     <field name="total_timesheet" widget="float_time"/>
323                     <field name="total_difference" widget="float_time"/>
324                     <field name="state"/>
325                 </tree>
326             </field>
327         </record>
328
329         <record id="hr_timesheet_day_tree" model="ir.ui.view">
330             <field name="name">hr.timesheet.day.tree</field>
331             <field name="model">hr_timesheet_sheet.sheet.day</field>
332             <field name="arch" type="xml">
333                 <tree colors="blue:total_difference&lt;0.1;red:total_difference&gt;=0.1" string="Period">
334                     <field name="name"/>
335                     <field name="total_attendance" widget="float_time" sum="Total Attendances"/>
336                     <field name="total_timesheet" widget="float_time" sum="Total Timesheet"/>
337                     <field name="total_difference" widget="float_time" sum="Total Difference"/>
338                 </tree>
339             </field>
340         </record>
341
342   <!-- Timesheet Button on Employee Form -->
343   <act_window
344            context="{'search_default_employee_id': [active_id], 'default_employee_id': active_id}"
345            id="act_hr_employee_2_hr_timesheet" name="Timesheets" res_model="hr_timesheet_sheet.sheet" src_model="hr.employee"/>
346            
347       <record id="hr_timesheet_sheet_employee_extd_form" model="ir.ui.view">
348             <field name="name">hr.timesheet.sheet.employee.extd_form</field>
349             <field name="model">hr.employee</field>
350             <field name="inherit_id" ref="hr_timesheet.hr_timesheet_employee_extd_form"/>
351             <field name="arch" type="xml">
352                 <xpath expr="//div[@name='button_box']" position="inside">
353                     <button name="%(act_hr_employee_2_hr_timesheet)d" string="Timesheets" type="action"/>
354                 </xpath>
355             </field>
356         </record>
357
358     </data>
359 </openerp>