summaryrefslogtreecommitdiff
path: root/addons/hr/models
diff options
context:
space:
mode:
authorjbm-odoo <jbm@odoo.com>2019-11-04 08:47:18 +0000
committerjbm-odoo <jbm@odoo.com>2019-11-06 10:08:50 +0000
commit6b5bdbb476b849fac4e46a7d0082bc12bc6ae6e2 (patch)
tree1bd212fc663c8305c0d681aaad27ffabe0949223 /addons/hr/models
parentc83cac21a738702820ce5084c605d47fab06e909 (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.py17
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