diff --git a/addons/hr/models/hr_employee.py b/addons/hr/models/hr_employee.py index 2299375dd22c558ae0dea728858378449a848b04..5a64f7a855ae130fb5a7c328bc53097d5a464c8e 100644 --- a/addons/hr/models/hr_employee.py +++ b/addons/hr/models/hr_employee.py @@ -85,6 +85,7 @@ class HrEmployeePrivate(models.Model): work_permit_expiration_date = fields.Date('Work Permit Expiration Date', groups="hr.group_hr_user", tracking=True) has_work_permit = fields.Binary(string="Work Permit", groups="hr.group_hr_user", tracking=True) work_permit_scheduled_activity = fields.Boolean(default=False, groups="hr.group_hr_user") + work_permit_name = fields.Char('work_permit_name', compute='_compute_work_permit_name') additional_note = fields.Text(string='Additional Note', groups="hr.group_hr_user", tracking=True) certificate = fields.Selection([ ('graduate', 'Graduate'), @@ -157,6 +158,13 @@ class HrEmployeePrivate(models.Model): avatar = base64.b64encode(employee._avatar_get_placeholder()) employee[avatar_field] = avatar + @api.depends('name', 'permit_no') + def _compute_work_permit_name(self): + for employee in self: + name = employee.name.replace(' ', '_') + '_' if employee.name else '' + permit_no = '_' + employee.permit_no if employee.permit_no else '' + employee.work_permit_name = "%swork_permit%s" % (name, permit_no) + def action_create_user(self): self.ensure_one() if self.user_id: diff --git a/addons/hr/views/hr_employee_views.xml b/addons/hr/views/hr_employee_views.xml index 5b9a9aebaa13294a59ea5c6c5444212392c96fe5..5ec11c8f5e93b79bdd5dc73046a6c4ead0e9567d 100644 --- a/addons/hr/views/hr_employee_views.xml +++ b/addons/hr/views/hr_employee_views.xml @@ -166,7 +166,8 @@ <field name="permit_no"/> <field name="visa_expire"/> <field name="work_permit_expiration_date"/> - <field name="has_work_permit" widget="work_permit_upload"/> + <field name="work_permit_name" invisible="1"/> + <field name="has_work_permit" widget="work_permit_upload" filename="work_permit_name"/> </group> <group string="Citizenship"> <field name="country_id" options='{"no_open": True, "no_create": True}'/>