hr_employee.py 1.1 KB

12345678910111213141516171819202122232425262728293031323334
  1. # -*- coding: utf-8 -*-
  2. # (c) 2016 Alfredo de la Fuente - AvanzOSC
  3. # License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html
  4. from openerp import models, api
  5. class HrEmployee(models.Model):
  6. _inherit = 'hr.employee'
  7. @api.multi
  8. def onchange_user(self, user_id):
  9. user_obj = self.env['res.users']
  10. result = super(HrEmployee, self).onchange_user(user_id)
  11. if user_id:
  12. cond = [('id', '=', user_id)]
  13. user = user_obj.search(cond)
  14. if user.partner_id:
  15. result['value']['address_home_id'] = user.partner_id.id
  16. return result
  17. @api.model
  18. def create(self, vals):
  19. employee = super(HrEmployee, self).create(vals)
  20. if employee.address_home_id:
  21. employee.address_home_id.employee_id = employee.id
  22. return employee
  23. @api.multi
  24. def write(self, vals):
  25. result = super(HrEmployee, self).write(vals)
  26. if vals.get('address_home_id', False):
  27. for employee in self:
  28. employee.address_home_id.employee_id = employee.id
  29. return result