diff options
| author | jbm-odoo <jbm@odoo.com> | 2019-11-04 08:47:18 +0000 |
|---|---|---|
| committer | jbm-odoo <jbm@odoo.com> | 2019-11-06 10:08:50 +0000 |
| commit | 6b5bdbb476b849fac4e46a7d0082bc12bc6ae6e2 (patch) | |
| tree | 1bd212fc663c8305c0d681aaad27ffabe0949223 /addons/hr/models | |
| parent | c83cac21a738702820ce5084c605d47fab06e909 (diff) | |
[IMP] hr_[contract,employee,recruitment,work_entry]: Add multi edit in view
Make some fields editable in multi edit.
Some onchange are tranformed in compute fields.
id=2078674
closes odoo/odoo#39711
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
Diffstat (limited to 'addons/hr/models')
| -rw-r--r-- | addons/hr/models/hr_employee_base.py | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/addons/hr/models/hr_employee_base.py b/addons/hr/models/hr_employee_base.py index 75eef28fa8c..02f0d91b00b 100644 --- a/addons/hr/models/hr_employee_base.py +++ b/addons/hr/models/hr_employee_base.py @@ -29,7 +29,9 @@ class HrEmployeeBase(models.AbstractModel): resource_id = fields.Many2one('resource.resource') resource_calendar_id = fields.Many2one('resource.calendar', domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]") parent_id = fields.Many2one('hr.employee', 'Manager', domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]") - coach_id = fields.Many2one('hr.employee', 'Coach', domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]") + coach_id = fields.Many2one( + 'hr.employee', 'Coach', compute='_compute_coach', store=True, readonly=False, + domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]") tz = fields.Selection( string='Timezone', related='resource_id.tz', readonly=False, help="This field is used in order to define in which timezone the resources will work.") @@ -77,9 +79,10 @@ class HrEmployeeBase(models.AbstractModel): employee.last_activity = False employee.last_activity_time = False - @api.onchange('parent_id') - def _onchange_parent_id(self): - manager = self.parent_id - previous_manager = self._origin.parent_id - if manager and (self.coach_id == previous_manager or not self.coach_id): - self.coach_id = manager + @api.depends('parent_id') + def _compute_coach(self): + for employee in self: + manager = employee.parent_id + previous_manager = employee._origin.parent_id + if manager and (employee.coach_id == previous_manager or not employee.coach_id): + employee.coach_id = manager |
