[IMP] payroll: code clean, add date argument on onchnage-employee from holidays to get it latest contract

bzr revid: mra@mra-laptop-20110401125959-hsuwv6ms31v4it75
This commit is contained in:
Mustufa Rangwala
2011-04-01 18:29:59 +05:30
parent 03a02288f9
commit f380549275
2 changed files with 9 additions and 8 deletions
+6 -5
View File
@@ -1349,8 +1349,7 @@ class hr_payslip(osv.osv):
context.update({'contract': True})
if not contract_id:
res['value'].update({'struct_id': False})
res = self.onchange_employee_id(cr, uid, ids, ddate=date, employee_id=employee_id, contract_id=contract_id, context=context)
return res
return self.onchange_employee_id(cr, uid, ids, ddate=date, employee_id=employee_id, contract_id=contract_id, context=context)
hr_payslip()
@@ -1362,13 +1361,15 @@ class hr_holidays(osv.osv):
'contract_id': fields.many2one('hr.contract', 'Contract', readonly=True, states={'draft':[('readonly',False)]})
}
def onchange_employee_id(self, cr, uid, ids, employee_id=False, context=None):
def onchange_employee_id(self, cr, uid, ids, employee_id=False, date_from=False, context=None):
if not employee_id:
return {}
contract_obj = self.pool.get('hr.contract')
res = {}
contracts = contract_obj.search(cr, uid, [('employee_id', '=', employee_id)], context=context)
contract_ids = contract_obj.browse(cr, uid, contracts, context=context)
employee_id = self.pool.get('hr.employee').browse(cr, uid, employee_id, context)
# fix me: Date_from is not comming in onchange..
contract_ids = self.pool.get('hr.payslip').get_contract(cr, uid, employee_id, date_from, context=context)
res.update({
'contract_id': contract_ids and contract_ids[0].id or False,
})
+3 -3
View File
@@ -65,7 +65,7 @@
<field name="arch" type="xml">
<data>
<xpath expr="/form/group/group/field[@name='employee_id']" position="replace">
<field name="employee_id" on_change="onchange_employee_id(employee_id)" attrs="{'required':[('holiday_type','=','employee')], 'invisible':[('holiday_type','=','category')]}"/>
<field name="employee_id" on_change="onchange_employee_id(employee_id, date_from)" attrs="{'required':[('holiday_type','=','employee')], 'invisible':[('holiday_type','=','category')]}"/>
</xpath>
<xpath expr="/form/notebook/page/field[@name='number_of_days_temp']" position="after">
<field name="contract_id" select="1" domain="[('employee_id', '=', employee_id)]" attrs="{'invisible':[('holiday_type','=','category')]}"/>
@@ -300,7 +300,7 @@
<field name="amount_type"/>
<field name="amount"/>
</tree>
</field>
</field>
</page>
<page string="Holidays">
@@ -318,7 +318,7 @@
<field name="contract_id"/>
<button string="Approve" name="validate" states="confirm" type="workflow" icon="gtk-apply" groups="base.group_hr_user,base.group_hr_manager"/>
<button string="Approved" name="second_validate" states="validate1" type="workflow" icon="gtk-apply" groups="base.group_hr_user,base.group_hr_manager"/>
</tree>
</tree>
</field>
</page>