[IMP]clean form view and improve hr employee form view
[odoo/odoo.git] / addons / hr_payroll / hr_payroll_view.xml
1 <?xml version="1.0" encoding="utf-8"?>
2 <openerp>
3     <data>
4         <!-- Root Menus -->
5
6         <menuitem id="payroll_configure" parent="hr.menu_hr_configuration" name="Payroll" groups="base.group_hr_manager" sequence="45"/>
7         <menuitem id="menu_hr_root_payroll" parent="hr.menu_hr_root" name="Payroll" sequence="30"/>
8         <menuitem id="menu_hr_payroll_reporting" parent="hr.menu_hr_reporting" name="Payroll" groups="base.group_hr_manager"/>
9
10         <!-- Employee View -->
11         <record id="hr_contract.hr_hr_employee_view_form2" model="ir.ui.view">
12             <field name="name">hr.hr.employee.view.form2</field>
13             <field name="model">hr.employee</field>
14             <field name="inherit_id" ref="hr.view_employee_form"/>
15             <field name="arch" type="xml">
16             <data>
17                 <div class="oe_right oe_button_box" position="inside">
18                      <button name="%(act_hr_employee_payslip_list)d" string="Payslips" type="action"/>
19                  </div>
20                   <xpath expr="//field[@name='identification_id']" position="before">
21                     <field name="manager" select="1"/>
22                  </xpath>
23                  <field name="otherid" position="after">
24                          <field name="vehicle" select="1"/>
25                          <field name="medic_exam" select="1" string="Medical Examination"/>
26                          <field name="vehicle_distance" select="1"/>
27                   </field>
28                 <field name="address_home_id" position="after">
29                     <field name="children"/>
30                 </field>
31                 <field name="birthday" position="after">
32                     <field name="place_of_birth"/>
33                 </field>
34                 <field name="marital" position="before">
35                     <field name="bank_account_id" context="{'display_partner':True, 'partner_id':partner_id}"/>
36                 </field>
37             </data>
38             </field>
39         </record>
40         <!-- End Employee View -->
41
42         <!-- Contract View -->
43         <record id="hr_contract_form_inherit" model="ir.ui.view">
44             <field name="name">hr.contract.view.form.inherit</field>
45             <field name="model">hr.contract</field>
46             <field name="type">form</field>
47             <field name="inherit_id" ref="hr_contract.hr_contract_view_form"/>
48             <field name="arch" type="xml">
49             <data>
50                 <xpath expr="//group[@name='right_column']" position="inside">
51                     <group string="Payslip Info" colspan="2" col="2">
52                         <field name="struct_id" required="1"/>
53                     </group>
54                 </xpath>
55                  <xpath expr="//field[@name='working_hours']" position="after">
56                     <field name="schedule_pay"/>
57                 </xpath>
58             </data>
59             </field>
60         </record>
61
62         <!-- End Contract View-->
63
64         <!-- Salary structure -->
65         <record id="view_hr_payroll_structure_list_view" model="ir.ui.view">
66             <field name="name">hr.payroll.structure.tree</field>
67             <field name="model">hr.payroll.structure</field>
68             <field name="type">tree</field>
69             <field name="arch" type="xml">
70                 <tree string="Employee Function">
71                     <field name="name"/>
72                     <field name="code"/>
73                     <field name="rule_ids"/>
74                     <field name="company_id" groups="base.group_multi_company" widget="selection"/>
75                 </tree>
76             </field>
77         </record>
78         <record id="view_hr_payroll_structure_tree" model="ir.ui.view">
79             <field name="name">hr.payroll.structure.tree</field>
80             <field name="model">hr.payroll.structure</field>
81             <field name="type">tree</field>
82             <field name="field_parent">children_ids</field>
83             <field name="arch" type="xml">
84                 <tree string="Salary Structure">
85                     <field name="name"/>
86                     <field name="code"/>
87                     <field name="company_id" groups="base.group_multi_company" widget="selection"/>
88                 </tree>
89             </field>
90         </record>
91
92         <record id="view_hr_payroll_structure_filter" model="ir.ui.view">
93             <field name="name">hr.payroll.structure.select</field>
94             <field name="model">hr.payroll.structure</field>
95             <field name="type">search</field>
96             <field name="arch" type="xml">
97                 <search string="Payroll Structures">
98                     <group col="8" colspan="4">
99                         <field name="name"/>
100                         <field name="code"/>
101                     </group>
102                     <newline/>
103                 </search>
104             </field>
105         </record>
106
107         <record id="view_hr_employee_grade_form" model="ir.ui.view">
108             <field name="name">hr.payroll.structure.form</field>
109             <field name="model">hr.payroll.structure</field>
110             <field name="type">form</field>
111             <field name="arch" type="xml">
112                 <form string="Employee Function">
113                     <group col="4">
114                         <field name="name"/>
115                         <field name="code"/>
116                         <field name="company_id" groups="base.group_multi_company" widget="selection"/>
117                         <field name="parent_id"/>
118                     </group>
119                     <notebook colspan="4">
120                          <page string="Salary Rules">
121                            <field name="rule_ids" domain="[('parent_rule_id','=',False)]">
122                              <tree>
123                                 <field name="name"/>
124                                 <field name="code"/>
125                                 <field name="category_id"/>
126                                 <field name="sequence" invisible="1"/>
127                                 <field name="register_id"/>
128                              </tree>
129                           </field>
130                          </page>
131                     </notebook>
132                 </form>
133             </field>
134         </record>
135
136         <record id="action_view_hr_payroll_structure_list_form" model="ir.actions.act_window">
137             <field name="name">Salary Structures</field>
138             <field name="res_model">hr.payroll.structure</field>
139             <field name="view_type">form</field>
140             <field name="view_id" ref="view_hr_payroll_structure_list_view"/>
141         </record>
142         <menuitem
143             id="menu_hr_payroll_structure_view"
144             action="action_view_hr_payroll_structure_list_form"
145             parent="hr.menu_hr_configuration"
146             sequence="20"
147         />
148         <record id="action_view_hr_payroll_structure_tree" model="ir.actions.act_window">
149             <field name="name">Salary Structures Hierarchy</field>
150             <field name="res_model">hr.payroll.structure</field>
151             <field name="view_type">tree</field>
152             <field name="domain">[('parent_id','=',False)]</field>
153             <field name="view_id" ref="view_hr_payroll_structure_tree"/>
154         </record>
155         <menuitem
156             id="menu_hr_payroll_structure_tree"
157             action="action_view_hr_payroll_structure_tree"
158             parent="payroll_configure"
159             sequence="2"
160             icon="STOCK_INDENT"
161         />
162         <!-- End Salary structure -->
163
164         <!-- Payslip Line -->
165         <record id="view_hr_payslip_line_tree" model="ir.ui.view">
166             <field name="name">hr.payslip.line.tree</field>
167             <field name="model">hr.payslip.line</field>
168             <field name="type">tree</field>
169             <field name="arch" type="xml">
170                 <tree string="Salary Structure" editable="bottom" colors="blue:total == 0">
171                     <field name="category_id"/>
172                     <field name="employee_id" invisible="1"/>
173                     <field name="sequence"/>
174                     <field name="name"/>
175                     <field name="code"/>
176                     <field name="quantity"/>
177                     <field name="rate"/>
178                     <field name="amount"/>
179                     <field name="total"/>
180                     <field name="amount_select" invisible="1"/>
181                     <field name="register_id" invisible="1"/>
182                 </tree>
183             </field>
184         </record>
185         <record id="view_hr_payslip_line_form" model="ir.ui.view">
186             <field name="name">hr.payslip.line.form</field>
187             <field name="model">hr.payslip.line</field>
188             <field name="type">form</field>
189             <field name="arch" type="xml">
190                 <form string="Payslip Line">
191                 <group>
192                     <group>
193                         <field name="name"/>
194                         <field name="code"/>
195                         <field name="slip_id"/>
196                         <field name="employee_id"/>
197                     </group>
198                     <group string="Calculations">
199                         <field name="category_id"/>
200                         <field name="amount_select"/>
201                         <field name="amount_fix"  attrs="{'readonly':[('amount_select','&lt;&gt;','fix')]}"/>
202                         <field name="amount_percentage"  attrs="{'readonly':[('amount_select','&lt;&gt;','percentage')]}"/>
203                         <field name="sequence"/>
204                     </group>
205                     <field name="note"/>
206                 </group>
207                 </form>
208             </field>
209         </record>
210
211         <record id="view_hr_payslip_line_filter" model="ir.ui.view">
212             <field name="name">hr.payslip.line.select</field>
213             <field name="model">hr.payslip.line</field>
214             <field name="type">search</field>
215             <field name="arch" type="xml">
216                 <search string="Search Payslip Lines">
217                     <group col="8" colspan="4">
218                         <field name="name"/>
219                         <field name="code"/>
220                         <field name="slip_id"/>
221                         <field name="amount_select"/>
222                     </group>
223                     <newline/>
224                     <group col="8" colspan="4" expand="0" string="Group By...">
225                         <filter string="Salary Rule Category" icon="terp-camera_test" name="category_id" context="{'group_by':'category_id'}"/>
226                         <filter string="Contribution Register" name="register_id" icon="terp-folder-yellow" context="{'group_by':'register_id'}"/>
227                         <separator orientation="vertical"/>
228                         <filter string="Amount Type" name="amount_select" icon="terp-stock_symbol-selection" context="{'group_by':'amount_select'}"/>
229                         <separator orientation="vertical"/>
230                         <filter string="Employees" name="employee_id" icon="terp-personal" context="{'group_by':'employee_id'}"/>
231                     </group>
232                 </search>
233             </field>
234         </record>
235
236
237         <!-- payslip -->
238
239         <record id="view_hr_payslip_tree" model="ir.ui.view">
240             <field name="name">hr.payslip.tree</field>
241             <field name="model">hr.payslip</field>
242             <field name="type">tree</field>
243             <field name="arch" type="xml">
244                 <tree colors="blue:state in ('confirm','hr_check','accont_check');black:state == 'new';gray:state == 'cancel'" string="Payslips">
245                     <field name="number"/>
246                     <field name="employee_id"/>
247                     <field name="name"/>
248                     <field name="date_from"/>
249                     <field name="date_to"/>
250                     <field name="state"/>
251                     <field name="company_id" groups="base.group_multi_company" widget="selection"/>
252                     <field name="payslip_run_id" invisible="1"/>
253                 </tree>
254             </field>
255         </record>
256
257         <record id="view_hr_payslip_form" model="ir.ui.view">
258             <field name="name">hr.payslip.form</field>
259             <field name="model">hr.payslip</field>
260             <field name="type">form</field>
261             <field name="arch" type="xml">
262                 <form string="Payslip" version="7.0">
263                 <header>
264                     <button string="Confirm" name="hr_verify_sheet" states="draft"/>
265                     <button string="Refund" name="refund_sheet" states="confirm,done" type='object'/>
266                     <button string="Set to Draft" name="draft" states="cancel"/>
267                     <button string="Compute Sheet" name="compute_sheet" type="object" states="draft"/>
268                     <button string="Cancel" name="cancel_sheet" states="draft,hr_check,confirm,verify"/>
269                     <field name="state" widget="statusbar" statusbar_visible="draft,confirm"/>
270                 </header>
271                 <sheet>
272                     <label for="employee_id" class="oe_edit_only"/>
273                     <h1><field name="employee_id" on_change="onchange_employee_id(date_from, date_to, employee_id, contract_id)"/></h1>
274                     <label for="date_from" class="oe_edit_only" string="Period"/>
275                     <h2>
276                         from <field name="date_from" on_change="onchange_employee_id(date_from, date_to, employee_id, contract_id)"/>
277                         to <field name="date_to"/>
278                     </h2>
279                     <group col="4">
280                         <field name="contract_id" domain="[('employee_id','=',employee_id)]" on_change="onchange_contract_id(date_from, date_to, employee_id, contract_id)"/>
281                         <field name="number"/>
282                         <field name="struct_id" attrs="{'required':[('contract_id','&lt;&gt;',False)]}"/>
283                         <field name="name"/>
284                         <field name="credit_note"/>
285                     </group>
286                     <notebook>
287                         <page string="Worked Days &amp; Inputs">
288                             <field name="worked_days_line_ids">
289                                 <tree string="Worked Days" editable="bottom">
290                                     <field name="name"/>
291                                     <field name="code"/>
292                                     <field name="number_of_days" sum="Total Working Days"/>
293                                     <field name="number_of_hours"/>
294                                     <field name="contract_id"/>
295                                     <field name="sequence" invisible="True"/>
296                                 </tree>
297                                 <form string="Worked Day">
298                                     <group col="4">
299                                         <field name="name"/>
300                                         <field name="code"/>
301                                         <field name="payslip_id"/>
302                                         <field name="sequence"/>
303                                         <field name="number_of_days"/>
304                                         <field name="number_of_hours"/>
305                                         <field name="contract_id"/>
306                                     </group>
307                                 </form>
308                             </field>
309                             <field name="input_line_ids" colspan="4" nolabel="1">
310                                 <tree string="Input Data" editable="bottom">
311                                     <field name="name"/>
312                                     <field name="code"/>
313                                     <field name="amount"/>
314                                     <field name="contract_id"/>
315                                     <field name="sequence" invisible="True"/>
316                                 </tree>
317                                 <form string="Payslip Line">
318                                     <group col="4">
319                                         <field name="name"/>
320                                         <field name="code"/>
321                                         <field name="payslip_id"/>
322                                         <field name="sequence"/>
323                                         <field name="amount"/>
324                                         <field name="contract_id"/>
325                                     </group>
326                                 </form>
327                             </field>
328                         </page>
329                         <page string="Salary Computation" >
330                             <field name="line_ids" colspan="4" nolabel="1">
331                                 <tree string="Salary Structure" editable="bottom" colors="blue:total == 0">
332                                     <field name="name"/>
333                                     <field name="code"/>
334                                     <field name="category_id"/>
335                                     <field name="sequence" invisible="1"/>
336                                     <field name="quantity"/>
337                                     <field name="rate"/>
338                                     <field name="amount"/>
339                                     <field name="total"/>
340                                 </tree>
341                                 <form string="Payslip Line">
342                                     <group col="4">
343                                         <field name="name"/>
344                                         <field name="code"/>
345                                         <field name="category_id"/>
346                                         <field name="sequence"/>
347                                         <field name="quantity"/>
348                                         <field name="rate"/>
349                                         <field name="amount"/>
350                                         <field name="total"/>
351                                         <field name="salary_rule_id"/>
352                                     </group>
353                                 </form>
354                             </field>
355                         </page>
356                         <page string="Details By Salary Rule Category">
357                             <field name="details_by_salary_rule_category" context="{'group_by':'category_id'}" domain="[('appears_on_payslip', '=', True)]">
358                                 <tree string="Payslip Lines" colors="blue:total == 0">
359                                     <field name="category_id"/>
360                                     <field name="name"/>
361                                     <field name="code"/>
362                                     <field name="total"/>
363                                 </tree>
364                             </field>
365                        </page>
366                        <page string="Other Information">
367                             <group col="2" string="Other Information">
368                                 <field name="company_id" groups="base.group_multi_company" widget="selection"/>
369                                 <field name="payslip_run_id" domain="[('state','=','draft')]"/>
370                                 <field name="paid" readonly="1"/>
371                             </group>
372                             <group string="Notes">
373                             <field name="note"/>
374                             </group>
375                        </page>
376                     </notebook>
377                     </sheet>
378                 </form>
379             </field>
380         </record>
381
382         <record id="view_hr_payslip_filter" model="ir.ui.view">
383             <field name="name">hr.payslip.select</field>
384             <field name="model">hr.payslip</field>
385             <field name="type">search</field>
386             <field name="arch" type="xml">
387                 <search string="Search Payslips">
388                     <group>
389                         <filter icon="terp-document-new" string="Draft" domain="[('state','=','draft')]" help="Draft Slip"/>
390                         <filter icon="terp-camera_test" string="Done" domain="[('state','=','done')]" help="Done Slip"/>
391                         <separator orientation="vertical"/>
392                         <field name="number"/>
393                         <field name="employee_id"/>
394                         <field name="name"/>
395                         <field name="date_from"/>
396                         <field name="payslip_run_id"/>
397                     </group>
398                     <newline/>
399                     <group expand="0" string="Group By...">
400                         <filter string="Employees" icon="terp-personal" name="employee_id" context="{'group_by':'employee_id'}"/>
401                         <separator orientation="vertical"/>
402                         <filter string="PaySlip Batch" name="payslip_run_id" icon="terp-folder-orange" context="{'group_by':'payslip_run_id'}"/>
403                         <separator orientation="vertical" groups="base.group_multi_company"/>
404                         <filter string="Companies" name="company_id" groups="base.group_multi_company" icon="terp-go-home" context="{'group_by':'company_id'}"/>
405                         <separator orientation="vertical"/>
406                         <filter string="States" name="state" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}"/>
407                     </group>
408                 </search>
409             </field>
410         </record>
411         <record id="action_view_hr_payslip_form" model="ir.actions.act_window">
412             <field name="name">Employee Payslips</field>
413             <field name="res_model">hr.payslip</field>
414             <field name="view_type">form</field>
415             <field name="view_id" ref="view_hr_payslip_tree"/>
416             <field name="search_view_id" ref="view_hr_payslip_filter"/>
417         </record>
418         <menuitem action="action_view_hr_payslip_form" id="menu_department_tree" parent="menu_hr_root_payroll"/>
419
420         <!-- Salary Category-->
421         <record id="hr_salary_rule_category_form" model="ir.ui.view">
422             <field name="name">hr.salary.rule.category.form</field>
423             <field name="model">hr.salary.rule.category</field>
424             <field name="type">form</field>
425             <field name="arch" type="xml">
426                 <form string="Salary Categories">
427                     <group col="4">
428                         <field name="name"/>
429                         <field name="code"/>
430                         <field name="parent_id"/>
431                     </group>
432                     <separator string="Notes"/>
433                     <field name="note"/>
434                 </form>
435             </field>
436         </record>
437
438         <record id="hr_salary_rule_category_tree" model="ir.ui.view">
439             <field name="name">hr.salary.rule.category.tree</field>
440             <field name="model">hr.salary.rule.category</field>
441             <field name="type">tree</field>
442             <field name="arch" type="xml">
443                 <tree string="Salary Rule Categories">
444                     <field name="name"/>
445                     <field name="code"/>
446                     <field name="parent_id" invisible="1"/>
447                 </tree>
448             </field>
449         </record>
450         <record id="hr_salary_rule_category_tree_view" model="ir.ui.view">
451             <field name="name">hr.salary.rule.category.tree.view</field>
452             <field name="model">hr.salary.rule.category</field>
453             <field name="type">tree</field>
454             <field name="field_parent">children_ids</field>
455             <field name="arch" type="xml">
456                 <tree string="Salary Rule Categories">
457                     <field name="name"/>
458                     <field name="code"/>
459                     <field name="parent_id" invisible="1"/>
460                 </tree>
461             </field>
462         </record>
463
464         <record id="view_hr_salary_rule_category_filter" model="ir.ui.view">
465             <field name="name">hr.salary.rule.category.select</field>
466             <field name="model">hr.salary.rule.category</field>
467             <field name="type">search</field>
468             <field name="arch" type="xml">
469                 <search string="Salary Rule Categories">
470                     <field name="name"/>
471                     <field name="code"/>
472                </search>
473             </field>
474         </record>
475
476         <record id="action_hr_salary_rule_category" model="ir.actions.act_window">
477             <field name="name">Salary Rule Categories</field>
478             <field name="res_model">hr.salary.rule.category</field>
479             <field name="view_type">form</field>
480             <field name="view_id" ref="hr_salary_rule_category_tree"/>
481            <field name="search_view_id" ref="view_hr_salary_rule_category_filter"/>
482         </record>
483         <menuitem
484             id="menu_hr_salary_rule_category"
485             action="action_hr_salary_rule_category"
486             parent="payroll_configure"
487             sequence="11"
488             groups="base.group_no_one"
489         />
490         <record id="action_hr_salary_rule_category_tree_view" model="ir.actions.act_window">
491             <field name="name">Salary Rule Categories Hierarchy</field>
492             <field name="res_model">hr.salary.rule.category</field>
493             <field name="view_type">tree</field>
494             <field name="domain">[('parent_id','=',False)]</field>
495             <field name="view_id" ref="hr_salary_rule_category_tree_view"/>
496         </record>
497         <menuitem
498             id="menu_hr_salary_rule_category_tree_view"
499             action="action_hr_salary_rule_category_tree_view"
500             parent="payroll_configure"
501             sequence="12"
502             icon="STOCK_INDENT"
503             groups="base.group_no_one"
504         />
505
506         <!--
507         Contribution Register
508         -->
509         <record id="hr_contribution_register_tree" model="ir.ui.view">
510             <field name="name">hr.contribution.register.tree</field>
511             <field name="model">hr.contribution.register</field>
512             <field name="type">tree</field>
513             <field name="arch" type="xml">
514                 <tree string="Contribution Registers">
515                     <field name="name" select="1"/>
516                     <field name="company_id" select="1" groups="base.group_multi_company" widget="selection"/>
517                 </tree>
518             </field>
519         </record>
520         <record id="hr_contribution_register_filter" model="ir.ui.view">
521             <field name="name">hr.contribution.register.search</field>
522             <field name="model">hr.contribution.register</field>
523             <field name="type">search</field>
524             <field name="arch" type="xml">
525                 <search string="Contribution Registers">
526                     <field name="name"/>
527                     <field name="company_id" groups="base.group_multi_company" widget="selection"/>
528                 </search>
529             </field>
530         </record>
531         <record id="hr_contribution_register_form" model="ir.ui.view">
532             <field name="name">hr.contribution.register.form</field>
533             <field name="model">hr.contribution.register</field>
534             <field name="type">form</field>
535             <field name="arch" type="xml">
536                 <form string="Contribution">
537                     <field name="name"/>
538                     <field name="company_id" groups="base.group_multi_company" widget="selection"/>
539                     <separator string="Description"/>
540                     <field name="note" nolabel="1"/>
541                 </form>
542             </field>
543         </record>
544         <record id="action_contribution_register_form" model="ir.actions.act_window">
545             <field name="name">Contribution Registers</field>
546             <field name="res_model">hr.contribution.register</field>
547             <field name="view_type">form</field>
548             <field name="help">A contribution register is a third party involved in the salary payment of the employees. It can be the social security, the estate or anyone that collect or inject money on payslips.</field>
549             <field name="view_id" ref="hr_contribution_register_tree"/>
550         </record>
551         <menuitem
552             id="menu_action_hr_contribution_register_form"
553             action="action_contribution_register_form"
554             parent="payroll_configure"
555             sequence="14"
556         />
557
558         <!-- Salary Rules -->
559
560         <record id="hr_salary_rule_list" model="ir.ui.view">
561             <field name="name">hr.salary.rule.list</field>
562             <field name="model">hr.salary.rule</field>
563             <field name="type">tree</field>
564             <field name="arch" type="xml">
565                 <tree string="Salary Rules">
566                     <field name="name"/>
567                     <field name="code"/>
568                     <field name="category_id"/>
569                     <field name="sequence" invisible="1"/>
570                     <field name="register_id"/>
571                 </tree>
572             </field>
573         </record>
574
575         <record id="hr_salary_rule_tree" model="ir.ui.view">
576             <field name="name">hr.salary.rule.tree</field>
577             <field name="model">hr.salary.rule</field>
578             <field name="type">tree</field>
579             <field name="field_parent">child_ids</field>
580             <field eval="20" name="priority"/>
581             <field name="arch" type="xml">
582                 <tree string="Salary Rules">
583                     <field name="name"/>
584                     <field name="code"/>
585                     <field name="category_id" invisible="True"/>
586                     <field name="company_id" groups="base.group_multi_company" widget="selection"/>
587                 </tree>
588             </field>
589         </record>
590         <record id="hr_salary_rule_form" model="ir.ui.view">
591             <field name="name">hr.salary.rule.form</field>
592             <field name="model">hr.salary.rule</field>
593             <field name="type">form</field>
594             <field name="arch" type="xml">
595                 <form string="Salary Rules" version="7.0">
596                     <label for="name" class="oe_edit_only"/>
597                     <h1><field name="name"/></h1>
598                     <label for="category_id" class="oe_edit_only"/>
599                     <h2><field name="category_id"/></h2>
600
601                     <group col="4">
602                        <field name="code" select="1"/>
603                        <field name="sequence" />
604                        <field name="active"/>
605                        <field name="appears_on_payslip"/>
606                        <field name="company_id" widget="selection" groups="base.group_multi_company"/>
607                     </group>
608                     <notebook colspan="6">
609                         <page string="General">
610                             <group col="4">
611                                 <separator colspan="4" string="Conditions"/>
612                                 <field name="condition_select"/><newline/>
613                                 <field name="condition_python" attrs="{'invisible':[('condition_select','&lt;&gt;','python')], 'required': [('condition_select','=','python')]}" colspan="4"/> <newline/>
614                                 <field name="condition_range" attrs="{'invisible':[('condition_select','&lt;&gt;','range')], 'required':[('condition_select','=','range')]}"/><newline/>
615                                 <field name="condition_range_min" colspan="2" attrs="{'invisible':[('condition_select','&lt;&gt;','range')], 'required':[('condition_select','=','range')]}"/><newline/>
616                                 <field name="condition_range_max" colspan="2" attrs="{'invisible':[('condition_select','&lt;&gt;','range')], 'required':[('condition_select','=','range')]}"/><newline/>
617                                 <separator colspan="4" string="Computation"/>
618                                 <field name="amount_select"/><newline/>
619                                 <field name="amount_percentage_base" attrs="{'invisible':[('amount_select','&lt;&gt;','percentage')], 'required': [('amount_select','=','percentage')]}"/><newline/>
620                                 <field name="quantity" attrs="{'invisible':[('amount_select','=','code')], 'required':[('amount_select','!=','code')]}"/><newline/>
621                                 <field name="amount_fix"  attrs="{'invisible':[('amount_select','&lt;&gt;','fix')], 'required':[('amount_select','=','fix')]}"/><newline/>
622                                 <field name="amount_percentage" attrs="{'invisible':[('amount_select','&lt;&gt;','percentage')], 'required':[('amount_select','=','percentage')]}"/>
623                                 <field colspan="4" name="amount_python_compute" attrs="{'invisible':[('amount_select','&lt;&gt;','code')], 'required':[('amount_select','=','code')]}"/>
624                                 <separator colspan="4" string="Company Contribution"/>
625                                 <field name="register_id"/>
626                             </group>
627                         </page>
628                         <page string="Child Rules">
629                            <field name="parent_rule_id"/>
630                            <separator string="Children Definition"/>
631                            <field name="child_ids"/>
632                         </page>
633                            <page string="Inputs">
634                                 <field name="input_ids" mode="tree, form">
635                                     <tree string="Input Data" editable="bottom">
636                                         <field name="name"/>
637                                         <field name="code"/>
638                                     </tree>
639                                 </field>
640                            </page>
641                         <page string="Description">
642                             <field name="note"/>
643                         </page>
644                     </notebook>
645                 </form>
646             </field>
647         </record>
648
649         <record id="view_hr_rule_filter" model="ir.ui.view">
650             <field name="name">hr.salary.rule.select</field>
651             <field name="model">hr.salary.rule</field>
652             <field name="type">search</field>
653             <field name="arch" type="xml">
654                 <search string="Search Salary Rule">
655                     <group col="8">
656                         <field name="name"/>
657                         <field name="code"/>
658                         <field name="category_id"/>
659                         <field name="condition_range_min"/>
660                     </group>
661                     <newline/>
662                     <group col="8" colspan="4" expand="0" string="Group By...">
663                         <filter string="Category" icon="terp-folder-yellow" name="head" context="{'group_by':'category_id'}"/>
664                     </group>
665                 </search>
666             </field>
667         </record>
668
669         <record id="action_salary_rule_form" model="ir.actions.act_window">
670             <field name="name">Salary Rules</field>
671             <field name="res_model">hr.salary.rule</field>
672             <field name="view_type">form</field>
673             <field name="view_id" ref="hr_salary_rule_list"/>
674             <field name="domain">[('parent_rule_id','=',False)]</field>
675             <field name="search_view_id" ref="view_hr_rule_filter"/>
676         </record>
677
678         <menuitem id="menu_action_hr_salary_rule_form" action="action_salary_rule_form" parent="payroll_configure" sequence="12"/>
679
680
681         <act_window name="All Children Rules"
682             domain="[('id', 'in', [active_id])]"
683             res_model="hr.salary.rule"
684             src_model="hr.salary.rule"
685             view_id="hr_salary_rule_tree"
686             view_type="tree"
687             id="act_children_salary_rules"/>
688
689         <!-- payslip runs -->
690
691         <record id="hr_payslip_run_filter" model="ir.ui.view">
692             <field name="name">hr.payslip.run.search</field>
693             <field name="model">hr.payslip.run</field>
694             <field name="type">search</field>
695             <field name="arch" type="xml">
696                 <search string="Search Payslip Batches">
697                     <filter icon="terp-document-new" string="Draft" domain="[('state','=','draft')]" help="Draft Payslip Batches"/>
698                     <filter icon="terp-camera_test" string="Done" domain="[('state','=','close')]" help="Done Payslip Batches"/>
699                     <separator orientation="vertical"/>
700                     <field name="name"/>
701                     <field name="date_start"/>
702                     <field name="date_end"/>
703                 </search>
704             </field>
705         </record>
706
707         <record id="hr_payslip_run_tree" model="ir.ui.view">
708             <field name="name">hr.payslip.run.tree</field>
709             <field name="model">hr.payslip.run</field>
710             <field name="type">tree</field>
711             <field name="arch" type="xml">
712                 <tree string="Payslips Batches">
713                     <field name="name"/>
714                     <field name="date_start"/>
715                     <field name="date_end"/>
716                     <field name="credit_note"/>
717                     <field name="state"/>
718                 </tree>
719             </field>
720         </record>
721
722         <record id="hr_payslip_run_form" model="ir.ui.view">
723             <field name="name">hr.payslip.run.form</field>
724             <field name="model">hr.payslip.run</field>
725             <field name="type">form</field>
726             <field name="arch" type="xml">
727                 <form string="Payslips Batches" version="7.0">
728                 <header>
729                     <button name="close_payslip_run" type="object" string="Close" states="draft"/>
730                     <button name="%(action_hr_payslip_by_employees)d" type="action" states="draft" string="Generate Payslips" />
731                     <button string="Set to Draft" name="draft_payslip_run" type="object" states="close"/>
732                     <field name="state" widget="statusbar"/>
733                 </header>
734                 <sheet>
735                     <group col="4">
736                         <field name="name"/>
737                         <field name="credit_note"/>
738                         <field name="date_start"/>
739                         <field name="date_end"/>
740                     </group>
741                     <field name="slip_ids"/>
742                 </sheet>
743                 </form>
744             </field>
745         </record>
746
747         <record id="action_hr_payslip_run_tree" model="ir.actions.act_window">
748             <field name="name">Payslips Batches</field>
749             <field name="res_model">hr.payslip.run</field>
750             <field name="view_type">form</field>
751             <field name="view_id" ref="hr_payslip_run_tree"/>
752             <field name="search_view_id" ref="hr_payslip_run_filter"/>
753         </record>
754         <menuitem action="action_hr_payslip_run_tree" id="menu_hr_payslip_run" parent="menu_hr_root_payroll"/>
755
756         <!--  Shortcuts -->
757
758         <act_window name="Payslips"
759             context="{'search_default_employee_id': [active_id], 'default_employee_id': active_id}"
760             res_model="hr.payslip"
761             src_model="hr.employee"
762             view_id ="view_hr_payslip_tree"
763             id="act_hr_employee_payslip_list"
764             groups="base.group_hr_manager"/>
765
766         <act_window name="Payslip Computation Details"
767                 domain="[('slip_id', '=', active_id)]"
768                 context="{'default_slip_id': active_id}"
769                 res_model="hr.payslip.line"
770                 src_model="hr.payslip"
771                 id="act_payslip_lines"/>
772
773         <act_window name="Payslip Lines"
774                 domain="[('register_id', '=', active_id)]"
775                 context="{'default_register_id': active_id, 'search_default_register_id': 1}"
776                 res_model="hr.payslip.line"
777                 src_model="hr.contribution.register"
778                 id="act_contribution_reg_payslip_lines"/>
779
780     </data>
781 </openerp>
782