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