=== modified file 'hr/hr.py' --- hr/hr.py 2010-09-11 13:29:00 +0000 +++ hr/hr.py 2010-10-02 17:33:47 +0000 @@ -132,18 +132,26 @@ } def onchange_company(self, cr, uid, ids, company, context=None): - company_id = self.pool.get('res.company').browse(cr,uid,company) - for address in company_id.partner_id.address: - return {'value': {'address_id': address.id}} - return {'value':{}} + if company: + company_id = self.pool.get('res.company').browse(cr,uid,company) + for address in company_id.partner_id.address: + return {'value': {'address_id': address.id}} + else: + return {'value':{}} def onchange_department(self, cr, uid, ids, department_id, context=None): - manager = self.pool.get('hr.department').browse(cr, uid, department_id).manager_id.id - return {'value': {'parent_id':manager or False}} + if department_id: + manager = self.pool.get('hr.department').browse(cr, uid, department_id).manager_id.id + return {'value': {'parent_id':manager or False}} + else: + return {'value': {'parent_id':False}} def onchange_user(self, cr, uid, ids, user_id, context=None): - mail = self.pool.get('res.users').browse(cr,uid,user_id) - return {'value': {'work_email':mail.user_email}} + if user_id: + mail = self.pool.get('res.users').browse(cr,uid,user_id) + return {'value': {'work_email':mail.user_email}} + else: + return {'value': {'work_email':False}} def _get_photo(self, cr, uid, context=None): return open(os.path.join(