[IMP] hr_payroll:improved company.contribution object

bzr revid: mtr@mtr-20110303124406-rcctrip72051sbuf
This commit is contained in:
mtr 2011-03-03 18:14:06 +05:30
parent 29a46c9f18
commit 64b46e24e4
2 changed files with 42 additions and 29 deletions

View File

@ -1144,17 +1144,28 @@ class hr_salary_rule(osv.osv):
'child_depend':fields.boolean('Children Rule'),
'child_ids':fields.one2many('hr.salary.rule', 'sal_rule_id', 'Child Salary Sructure'),
'company_id':fields.many2one('res.company', 'Company', required=False),
'register_id':fields.many2one('hr.contibution.register', 'Contri Reg', select=True),
'register_id':fields.property(
'hr.contibution.register',
type='many2one',
relation='hr.contibution.register',
string="Contribution Register",
method=True,
view_load=True,
help="Contribution register based on company",
required=False
),
'gratuity':fields.boolean('Use for Gratuity ?', required=False),
'computational_expression':fields.text('Computational Expression', required=True, readonly=False, help='This will use to computer the % fields values, in general its on basic, but You can use all heads code field in small letter as a variable name i.e. hra, ma, lta, etc...., also you can use, static varible basic'),
'conditions':fields.char('Condition', size=1024, required=True, readonly=False, help='Applied this head for calculation if condition is true'),
'sequence': fields.integer('Sequence', required=True, help='Use to arrange calculation sequence'),
'active':fields.boolean('Active', required=False),
}
_defaults = {
'conditions': lambda *a: 'True',
'computational_expression': lambda *a:'basic',
'sequence': lambda *a:5,
# 'computation_based':'rules',
'appears_on_payslip': 1
'conditions': 'True',
'computational_expression': 'basic',
'sequence': 5,
'appears_on_payslip': True,
'active': True,
}
hr_salary_rule()

View File

@ -718,24 +718,34 @@
<group col="6" colspan="6">
<field name="name"/>
<field name="code" select="1"/>
<field name="active"/>
<field name="sequence" />
<field name="company_id"/>
<field name="appears_on_payslip"/>
<field name="condition_range_min"/>
<field name="condition_range_max"/>
</group>
<group col="6" colspan="6">
<group col="2" colspan="2">
<separator colspan="4" string="Calculations"/>
<field name="category_id" on_change="onchange_category(category_id)"/>
<field name="type"/>
<field name="amount_type"/>
<field name="amount" on_change="onchange_amount(amount, amount_type)" attrs="{'readonly':[('amount_type','=','func')]}"/>
<field name="sequence" />
<field name="conditions"/>
</group>
<group col="2" colspan="4">
<separator colspan="4" string="Computational Expression"/>
<field name="computational_expression" colspan="4" nolabel="1"/>
</group>
<group col="2" colspan="2">
<separator colspan="4" string="Calculations"/>
<field name="category_id" on_change="onchange_category(category_id)"/>
<field name="type"/>
<field name="amount_type"/>
<field name="condition_range_min"/>
<field name="condition_range_max"/>
<field name="amount" on_change="onchange_amount(amount, amount_type)" attrs="{'readonly':[('amount_type','=','func')]}"/>
<field name="conditions"/>
</group>
<group col="2" colspan="2">
<group col="2" colspan="2">
<separator colspan="4" string="Company contribution"/>
<field name="register_id"/>
<field name="company_contrib"/>
</group>
<group col="2" colspan="4">
<separator colspan="4" string="Computational Expression"/>
<field name="computational_expression" colspan="4" nolabel="1"/>
</group>
</group>
</group>
<notebook colspan="4">
<page string="Child Rules" groups="base.group_extended">
@ -743,14 +753,6 @@
<field name="child_depend"/>
<field colspan="4" name="child_ids" nolabel="1"/>
</page>
<page string="Company contribution">
<separator colspan="4" string="Company contribution"/>
<group col="2" colspan="2">
<field name="company_id"/>
<field name="company_contrib"/>
<field name="register_id" string="Contribution Register"/>
</group>
</page>
<page string="Description">
<separator colspan="4" string="Description"/>
<field name="note" colspan="4" nolabel="1"/>