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