From a7eeba30f9ff159a3d8f9288a30a1de5f42ccf43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Mon, 3 Apr 2017 17:19:39 +0200 Subject: [PATCH] [IMP] hr: ease search and use of department full name Like product categories. --- addons/hr/models/hr.py | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/addons/hr/models/hr.py b/addons/hr/models/hr.py index 1bc91893203..efbcb03a5c3 100644 --- a/addons/hr/models/hr.py +++ b/addons/hr/models/hr.py @@ -262,13 +262,14 @@ class Employee(models.Model): class Department(models.Model): - _name = "hr.department" _description = "HR Department" _inherit = ['mail.thread'] _order = "name" + _rec_name = 'complete_name' name = fields.Char('Department Name', required=True) + complete_name = fields.Char('Complete Name', compute='_compute_complete_name', store=True) active = fields.Boolean('Active', default=True) company_id = fields.Many2one('res.company', string='Company', index=True, default=lambda self: self.env.user.company_id) parent_id = fields.Many2one('hr.department', string='Parent Department', index=True) @@ -279,21 +280,19 @@ class Department(models.Model): note = fields.Text('Note') color = fields.Integer('Color Index', default=1) + @api.depends('name', 'parent_id.complete_name') + def _compute_complete_name(self): + for department in self: + if department.parent_id: + department.complete_name = '%s / %s' % (department.parent_id.complete_name, department.name) + else: + department.complete_name = department.name + @api.constrains('parent_id') def _check_parent_id(self): if not self._check_recursion(): raise ValidationError(_('Error! You cannot create recursive departments.')) - @api.multi - def name_get(self): - result = [] - for record in self: - name = record.name - if record.parent_id: - name = "%s / %s" % (record.parent_id.name_get()[0][1], name) - result.append((record.id, name)) - return result - @api.model def create(self, vals): # TDE note: auto-subscription of manager done by hand, because currently