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