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