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