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