[IMP] hr_recruitment, project: better access rules for categories
[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" version="7.0">
70                     <group col="4">
71                         <field name="name"/>
72                         <field name="code"/>
73                         <field name="company_id" groups="base.group_multi_company" widget="selection"/>
74                         <field name="parent_id"/>
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="hr.menu_hr_configuration"
103             sequence="20"
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" version="7.0">
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" 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" string="Payslip Computation Details" type="action"/>
226                     </div>
227                     <div class="oe_title">
228                         <label for="employee_id" class="oe_edit_only"/>
229                         <h1><field name="employee_id" on_change="onchange_employee_id(date_from, date_to, employee_id, contract_id)"/></h1>
230                         <label for="date_from" class="oe_edit_only" string="Period"/>
231                         <h2>
232                             From <field name="date_from" on_change="onchange_employee_id(date_from, date_to, employee_id, contract_id)"/>
233                             to <field name="date_to"/>
234                         </h2>
235                     </div>
236                     <group col="4">
237                         <field name="contract_id" domain="[('employee_id','=',employee_id)]" on_change="onchange_contract_id(date_from, date_to, employee_id, contract_id)"/>
238                         <field name="number"/>
239                         <field name="struct_id" attrs="{'required':[('contract_id','&lt;&gt;',False)]}"/>
240                         <field name="name"/>
241                         <field name="credit_note"/>
242                     </group>
243                     <notebook>
244                         <page string="Worked Days &amp; Inputs">
245                             <separator string="Worked Days"/>
246                             <field name="worked_days_line_ids">
247                                 <tree string="Worked Days" editable="bottom">
248                                     <field name="name"/>
249                                     <field name="code"/>
250                                     <field name="number_of_days" sum="Total Working Days"/>
251                                     <field name="number_of_hours"/>
252                                     <field name="contract_id"/>
253                                     <field name="sequence" invisible="True"/>
254                                 </tree>
255                                 <form string="Worked Day">
256                                     <group col="4">
257                                         <field name="name"/>
258                                         <field name="code"/>
259                                         <field name="payslip_id"/>
260                                         <field name="sequence"/>
261                                         <field name="number_of_days"/>
262                                         <field name="number_of_hours"/>
263                                         <field name="contract_id"/>
264                                     </group>
265                                 </form>
266                             </field>
267                             <separator string="Other Inputs"/>
268                             <field name="input_line_ids" colspan="4" nolabel="1">
269                                 <tree string="Input Data" editable="bottom">
270                                     <field name="name"/>
271                                     <field name="code"/>
272                                     <field name="amount"/>
273                                     <field name="contract_id"/>
274                                     <field name="sequence" invisible="True"/>
275                                 </tree>
276                                 <form string="Payslip Line">
277                                     <group col="4">
278                                         <field name="name"/>
279                                         <field name="code"/>
280                                         <field name="payslip_id"/>
281                                         <field name="sequence"/>
282                                         <field name="amount"/>
283                                         <field name="contract_id"/>
284                                     </group>
285                                 </form>
286                             </field>
287                         </page>
288                         <page string="Salary Computation" >
289                             <field name="line_ids" colspan="4" nolabel="1">
290                                 <tree string="Salary Structure" editable="bottom" colors="blue:total == 0">
291                                     <field name="name"/>
292                                     <field name="code"/>
293                                     <field name="category_id"/>
294                                     <field name="sequence" invisible="1"/>
295                                     <field name="quantity"/>
296                                     <field name="rate"/>
297                                     <field name="amount"/>
298                                     <field name="total"/>
299                                 </tree>
300                                 <form string="Payslip Line">
301                                     <group col="4">
302                                         <field name="name"/>
303                                         <field name="code"/>
304                                         <field name="category_id"/>
305                                         <field name="sequence"/>
306                                         <field name="quantity"/>
307                                         <field name="rate"/>
308                                         <field name="amount"/>
309                                         <field name="total"/>
310                                         <field name="salary_rule_id"/>
311                                     </group>
312                                 </form>
313                             </field>
314                         </page>
315                         <page string="Details By Salary Rule Category">
316                             <field name="details_by_salary_rule_category" context="{'group_by':'category_id'}" domain="[('appears_on_payslip', '=', True)]">
317                                 <tree string="Payslip Lines" colors="blue:total == 0">
318                                     <field name="category_id"/>
319                                     <field name="name"/>
320                                     <field name="code"/>
321                                     <field name="total"/>
322                                 </tree>
323                             </field>
324                        </page>
325                        <page string="Other Information">
326                             <group>
327                                 <group string="Miscellaneous">
328                                     <field name="company_id" groups="base.group_multi_company"/>
329                                     <field name="payslip_run_id" domain="[('state','=','draft')]"/>
330                                 </group>
331                                 <group name="accounting" string="Accounting">
332                                     <field name="paid" readonly="1"/>
333                                 </group>
334                             </group>
335                             <div colspan="4">
336                                 <field name="note" Placeholder="Add an internal note..."/>
337                             </div>
338                        </page>
339                     </notebook>
340                     </sheet>
341                 </form>
342             </field>
343         </record>
344
345         <record id="view_hr_payslip_filter" model="ir.ui.view">
346             <field name="name">hr.payslip.select</field>
347             <field name="model">hr.payslip</field>
348             <field name="arch" type="xml">
349                 <search string="Search Payslips">
350                     <field name="name" string="Payslips" filter_domain="['|',('name','ilike',self),('number','ilike',self)]"/>
351                     <field name="date_from"/>
352                     <filter icon="terp-document-new" string="Draft" domain="[('state','=','draft')]" help="Draft Slip"/>
353                     <filter icon="terp-camera_test" string="Done" domain="[('state','=','done')]" help="Done Slip"/>
354                     <field name="employee_id"/>
355                     <field name="payslip_run_id"/>
356                     <group expand="0" string="Group By...">
357                         <filter string="Employees" icon="terp-personal" name="employee_id" context="{'group_by':'employee_id'}"/>
358                         <filter string="PaySlip Batch" name="payslip_run_id" icon="terp-folder-orange" context="{'group_by':'payslip_run_id'}"/>
359                         <filter string="Companies" name="company_id" groups="base.group_multi_company" icon="terp-go-home" context="{'group_by':'company_id'}"/>
360                         <filter string="States" name="state" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}"/>
361                     </group>
362                 </search>
363             </field>
364         </record>
365         <record id="action_view_hr_payslip_form" model="ir.actions.act_window">
366             <field name="name">Employee Payslips</field>
367             <field name="res_model">hr.payslip</field>
368             <field name="view_type">form</field>
369             <field name="view_id" ref="view_hr_payslip_tree"/>
370             <field name="search_view_id" ref="view_hr_payslip_filter"/>
371         </record>
372         <menuitem action="action_view_hr_payslip_form" id="menu_department_tree" parent="menu_hr_root_payroll"/>
373         <act_window name="Payslips"
374                     context="{'search_default_employee_id': [active_id], 'default_employee_id': active_id}"
375                     res_model="hr.payslip"
376                     src_model="hr.employee"
377                     view_id ="view_hr_payslip_tree"
378                     id="act_hr_employee_payslip_list"
379                     groups="base.group_hr_manager"/>
380
381         <!-- Employee View -->
382         <record id="payroll_hr_employee_view_form" model="ir.ui.view">
383             <field name="name">payroll.hr.employee.view.form</field>
384             <field name="model">hr.employee</field>
385             <field name="inherit_id" ref="hr.view_employee_form"/>
386             <field name="arch" type="xml">
387                 <data>
388                     <xpath expr="//div[@name='button_box']" position="inside">
389                         <button name="%(act_hr_employee_payslip_list)d" string="Payslips" type="action"/>
390                     </xpath>
391                 </data>
392             </field>
393         </record>
394         <!-- Salary Category-->
395         <record id="hr_salary_rule_category_form" model="ir.ui.view">
396             <field name="name">hr.salary.rule.category.form</field>
397             <field name="model">hr.salary.rule.category</field>
398             <field name="arch" type="xml">
399                 <form string="Salary Categories">
400                     <group col="4">
401                         <field name="name"/>
402                         <field name="code"/>
403                         <field name="parent_id"/>
404                     </group>
405                     <separator string="Notes"/>
406                     <field name="note"/>
407                 </form>
408             </field>
409         </record>
410
411         <record id="hr_salary_rule_category_tree" model="ir.ui.view">
412             <field name="name">hr.salary.rule.category.tree</field>
413             <field name="model">hr.salary.rule.category</field>
414             <field name="arch" type="xml">
415                 <tree string="Salary Rule Categories">
416                     <field name="name"/>
417                     <field name="code"/>
418                     <field name="parent_id" invisible="1"/>
419                 </tree>
420             </field>
421         </record>
422         <record id="hr_salary_rule_category_tree_view" model="ir.ui.view">
423             <field name="name">hr.salary.rule.category.tree.view</field>
424             <field name="model">hr.salary.rule.category</field>
425             <field name="field_parent">children_ids</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
435         <record id="view_hr_salary_rule_category_filter" model="ir.ui.view">
436             <field name="name">hr.salary.rule.category.select</field>
437             <field name="model">hr.salary.rule.category</field>
438             <field name="arch" type="xml">
439                 <search string="Salary Rule Categories">
440                     <field name="name" string="Salary Rule Categories" filter_domain="['|',('name','ilike',self),('code','ilike',self)]"/>
441                </search>
442             </field>
443         </record>
444
445         <record id="action_hr_salary_rule_category" model="ir.actions.act_window">
446             <field name="name">Salary Rule Categories</field>
447             <field name="res_model">hr.salary.rule.category</field>
448             <field name="view_type">form</field>
449             <field name="view_id" ref="hr_salary_rule_category_tree"/>
450            <field name="search_view_id" ref="view_hr_salary_rule_category_filter"/>
451         </record>
452         <menuitem
453             id="menu_hr_salary_rule_category"
454             action="action_hr_salary_rule_category"
455             parent="payroll_configure"
456             sequence="11"
457             groups="base.group_no_one"
458         />
459         <record id="action_hr_salary_rule_category_tree_view" model="ir.actions.act_window">
460             <field name="name">Salary Rule Categories Hierarchy</field>
461             <field name="res_model">hr.salary.rule.category</field>
462             <field name="view_type">tree</field>
463             <field name="domain">[('parent_id','=',False)]</field>
464             <field name="view_id" ref="hr_salary_rule_category_tree_view"/>
465         </record>
466         <menuitem
467             id="menu_hr_salary_rule_category_tree_view"
468             action="action_hr_salary_rule_category_tree_view"
469             parent="payroll_configure"
470             sequence="12"
471             icon="STOCK_INDENT"
472             groups="base.group_no_one"
473         />
474
475         <!--
476         Contribution Register
477         -->
478         <record id="hr_contribution_register_tree" model="ir.ui.view">
479             <field name="name">hr.contribution.register.tree</field>
480             <field name="model">hr.contribution.register</field>
481             <field name="arch" type="xml">
482                 <tree string="Contribution Registers">
483                     <field name="name" />
484                     <field name="company_id"  groups="base.group_multi_company" widget="selection"/>
485                 </tree>
486             </field>
487         </record>
488         <record id="hr_contribution_register_filter" model="ir.ui.view">
489             <field name="name">hr.contribution.register.search</field>
490             <field name="model">hr.contribution.register</field>
491             <field name="arch" type="xml">
492                 <search string="Contribution Registers">
493                     <field name="name" string="Contribution Registers"/>
494                     <field name="company_id" groups="base.group_multi_company"/>
495                 </search>
496             </field>
497         </record>
498         <record id="hr_contribution_register_form" model="ir.ui.view">
499             <field name="name">hr.contribution.register.form</field>
500             <field name="model">hr.contribution.register</field>
501             <field name="arch" type="xml">
502                 <form string="Contribution">
503                     <field name="name"/>
504                     <field name="company_id" groups="base.group_multi_company" widget="selection"/>
505                     <separator string="Description"/>
506                     <field name="note" nolabel="1"/>
507                 </form>
508             </field>
509         </record>
510         <record id="action_contribution_register_form" model="ir.actions.act_window">
511             <field name="name">Contribution Registers</field>
512             <field name="res_model">hr.contribution.register</field>
513             <field name="view_type">form</field>
514             <field name="help" type="html">
515               <p class="oe_view_nocontent_create">
516                 Click to add a new contribution register.
517               </p><p>
518                 A contribution register is a third party involved in the salary
519                 payment of the employees. It can be the social security, the
520                 estate or anyone that collect or inject money on payslips.
521               </p>
522             </field>
523             <field name="view_id" ref="hr_contribution_register_tree"/>
524         </record>
525         <menuitem
526             id="menu_action_hr_contribution_register_form"
527             action="action_contribution_register_form"
528             parent="payroll_configure"
529             sequence="14"
530         />
531
532         <!-- Salary Rules -->
533
534         <record id="hr_salary_rule_list" model="ir.ui.view">
535             <field name="name">hr.salary.rule.list</field>
536             <field name="model">hr.salary.rule</field>
537             <field name="arch" type="xml">
538                 <tree string="Salary Rules">
539                     <field name="name"/>
540                     <field name="code"/>
541                     <field name="category_id"/>
542                     <field name="sequence" invisible="1"/>
543                     <field name="register_id"/>
544                 </tree>
545             </field>
546         </record>
547
548         <record id="hr_salary_rule_tree" model="ir.ui.view">
549             <field name="name">hr.salary.rule.tree</field>
550             <field name="model">hr.salary.rule</field>
551             <field name="field_parent">child_ids</field>
552             <field eval="20" name="priority"/>
553             <field name="arch" type="xml">
554                 <tree string="Salary Rules">
555                     <field name="name"/>
556                     <field name="code"/>
557                     <field name="category_id" invisible="True"/>
558                     <field name="company_id" groups="base.group_multi_company" widget="selection"/>
559                 </tree>
560             </field>
561         </record>
562         <record id="hr_salary_rule_form" model="ir.ui.view">
563             <field name="name">hr.salary.rule.form</field>
564             <field name="model">hr.salary.rule</field>
565             <field name="arch" type="xml">
566                 <form string="Salary Rules" version="7.0">
567                     <label for="name" class="oe_edit_only"/>
568                     <h1><field name="name"/></h1>
569                     <label for="category_id" class="oe_edit_only"/>
570                     <h2><field name="category_id"/></h2>
571
572                     <group col="4">
573                        <field name="code"/>
574                        <field name="sequence" />
575                        <field name="active"/>
576                        <field name="appears_on_payslip"/>
577                        <field name="company_id" widget="selection" groups="base.group_multi_company"/>
578                     </group>
579                     <notebook colspan="6">
580                         <page string="General">
581                             <group col="4">
582                                 <separator colspan="4" string="Conditions"/>
583                                 <field name="condition_select"/><newline/>
584                                 <field name="condition_python" attrs="{'invisible':[('condition_select','&lt;&gt;','python')], 'required': [('condition_select','=','python')]}" colspan="4"/> <newline/>
585                                 <field name="condition_range" attrs="{'invisible':[('condition_select','&lt;&gt;','range')], 'required':[('condition_select','=','range')]}"/><newline/>
586                                 <field name="condition_range_min" colspan="2" attrs="{'invisible':[('condition_select','&lt;&gt;','range')], 'required':[('condition_select','=','range')]}"/><newline/>
587                                 <field name="condition_range_max" colspan="2" attrs="{'invisible':[('condition_select','&lt;&gt;','range')], 'required':[('condition_select','=','range')]}"/><newline/>
588                                 <separator colspan="4" string="Computation"/>
589                                 <field name="amount_select"/><newline/>
590                                 <field name="amount_percentage_base" attrs="{'invisible':[('amount_select','&lt;&gt;','percentage')], 'required': [('amount_select','=','percentage')]}"/><newline/>
591                                 <field name="quantity" attrs="{'invisible':[('amount_select','=','code')], 'required':[('amount_select','!=','code')]}"/><newline/>
592                                 <field name="amount_fix"  attrs="{'invisible':[('amount_select','&lt;&gt;','fix')], 'required':[('amount_select','=','fix')]}"/><newline/>
593                                 <field name="amount_percentage" attrs="{'invisible':[('amount_select','&lt;&gt;','percentage')], 'required':[('amount_select','=','percentage')]}"/>
594                                 <field colspan="4" name="amount_python_compute" attrs="{'invisible':[('amount_select','&lt;&gt;','code')], 'required':[('amount_select','=','code')]}"/>
595                                 <separator colspan="4" string="Company Contribution"/>
596                                 <field name="register_id"/>
597                             </group>
598                         </page>
599                         <page string="Child Rules">
600                            <field name="parent_rule_id"/>
601                            <separator string="Children Definition"/>
602                            <field name="child_ids"/>
603                         </page>
604                            <page string="Inputs">
605                                 <field name="input_ids" mode="tree">
606                                     <tree string="Input Data" editable="bottom">
607                                         <field name="name"/>
608                                         <field name="code"/>
609                                     </tree>
610                                 </field>
611                            </page>
612                         <page string="Description">
613                             <field name="note"/>
614                         </page>
615                     </notebook>
616                 </form>
617             </field>
618         </record>
619
620         <record id="view_hr_rule_filter" model="ir.ui.view">
621             <field name="name">hr.salary.rule.select</field>
622             <field name="model">hr.salary.rule</field>
623             <field name="arch" type="xml">
624                 <search string="Search Salary Rule">
625                     <field name="name" string="Salary Rules" filter_domain="['|',('name','ilike',self),('code','ilike',self)]"/>
626                     <field name="category_id"/>
627                     <field name="condition_range_min"/>
628                     <group col="8" colspan="4" expand="0" string="Group By...">
629                         <filter string="Category" icon="terp-folder-yellow" name="head" context="{'group_by':'category_id'}"/>
630                     </group>
631                 </search>
632             </field>
633         </record>
634
635         <record id="action_salary_rule_form" model="ir.actions.act_window">
636             <field name="name">Salary Rules</field>
637             <field name="res_model">hr.salary.rule</field>
638             <field name="view_type">form</field>
639             <field name="view_id" ref="hr_salary_rule_list"/>
640             <field name="domain">[('parent_rule_id','=',False)]</field>
641             <field name="search_view_id" ref="view_hr_rule_filter"/>
642         </record>
643
644         <menuitem id="menu_action_hr_salary_rule_form" action="action_salary_rule_form" parent="payroll_configure" sequence="12"/>
645
646
647         <act_window name="All Children Rules"
648             domain="[('parent_rule_id', '=', active_id)]"
649             res_model="hr.salary.rule"
650             src_model="hr.salary.rule"
651             view_id="hr_salary_rule_list"
652             id="act_children_salary_rules"/>
653
654         <!-- payslip runs -->
655
656         <record id="hr_payslip_run_filter" model="ir.ui.view">
657             <field name="name">hr.payslip.run.search</field>
658             <field name="model">hr.payslip.run</field>
659             <field name="arch" type="xml">
660                 <search string="Search Payslip Batches">
661                     <field name="name" string="Payslip Batches"/>
662                     <field name="date_start"/>
663                     <field name="date_end"/>
664                     <filter icon="terp-document-new" string="Draft" domain="[('state','=','draft')]" help="Draft Payslip Batches"/>
665                     <filter name="done_filter" icon="terp-camera_test" string="Done" domain="[('state','=','close')]" help="Done Payslip Batches"/>
666                 </search>
667             </field>
668         </record>
669
670         <record id="hr_payslip_run_tree" model="ir.ui.view">
671             <field name="name">hr.payslip.run.tree</field>
672             <field name="model">hr.payslip.run</field>
673             <field name="arch" type="xml">
674                 <tree string="Payslips Batches">
675                     <field name="name"/>
676                     <field name="date_start"/>
677                     <field name="date_end"/>
678                     <field name="credit_note"/>
679                     <field name="state"/>
680                 </tree>
681             </field>
682         </record>
683
684         <record id="hr_payslip_run_form" model="ir.ui.view">
685             <field name="name">hr.payslip.run.form</field>
686             <field name="model">hr.payslip.run</field>
687             <field name="arch" type="xml">
688                 <form string="Payslips Batches" version="7.0">
689                 <header>
690                     <button name="close_payslip_run" type="object" string="Close" states="draft" class="oe_highlight"/>
691                     <button name="%(action_hr_payslip_by_employees)d" type="action" states="draft" string="Generate Payslips" class="oe_highlight"/>
692                     <button string="Set to Draft" name="draft_payslip_run" type="object" states="close" />
693                     <field name="state" widget="statusbar"/>
694                 </header>
695                 <sheet>
696                     <label for="name" class="oe_edit_only"/>
697                     <h1>
698                         <field name="name"/>
699                     </h1>
700                     <h2>
701                         Period from 
702                         <field name="date_start"/> 
703                         to 
704                         <field name="date_end"/>
705                     </h2>
706                     <group col="4">
707                         <field name="credit_note"/>
708                     </group>
709                     <separator string="Payslips"/>
710                     <field name="slip_ids"/>
711                 </sheet>
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 Batches</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="Payslip Lines"
728             domain="[('register_id', '=', active_id)]"
729             context="{'default_register_id': active_id, 'search_default_register_id': 1}"
730             res_model="hr.payslip.line"
731             src_model="hr.contribution.register"
732             id="act_contribution_reg_payslip_lines"/>
733
734     </data>
735 </openerp>
736