diff --git a/addons/hr/models/res_users.py b/addons/hr/models/res_users.py index 7cefd8b634d..05e262acc74 100644 --- a/addons/hr/models/res_users.py +++ b/addons/hr/models/res_users.py @@ -16,6 +16,7 @@ HR_READABLE_FIELDS = [ 'last_activity', 'last_activity_time', 'can_edit', + 'is_system', ] HR_WRITABLE_FIELDS = [ @@ -132,6 +133,11 @@ class User(models.Model): employee_type = fields.Selection(related='employee_id.employee_type', readonly=False, related_sudo=False) can_edit = fields.Boolean(compute='_compute_can_edit') + is_system = fields.Boolean(compute="_compute_is_system") + + @api.depends_context('uid') + def _compute_is_system(self): + self.write({'is_system': self.env.user._is_system()}) def _compute_can_edit(self): can_edit = self.env['ir.config_parameter'].sudo().get_param('hr.hr_employee_self_edit') or self.env.user.has_group('hr.group_hr_user') diff --git a/addons/hr/views/res_users.xml b/addons/hr/views/res_users.xml index a3651c6d713..c68d4e6028c 100644 --- a/addons/hr/views/res_users.xml +++ b/addons/hr/views/res_users.xml @@ -29,6 +29,12 @@ 1 + + + + + {'invisible': [('is_system', '=', False)]} + diff --git a/odoo/addons/base/models/res_lang.py b/odoo/addons/base/models/res_lang.py index 5590f3a004d..efce8bece9e 100644 --- a/odoo/addons/base/models/res_lang.py +++ b/odoo/addons/base/models/res_lang.py @@ -257,6 +257,10 @@ class Lang(models.Model): langs = self.with_context(active_test=True).search([]) return sorted([(lang.code, lang.name) for lang in langs], key=itemgetter(1)) + def action_archive(self): + self.ensure_one() + self.active = False + def toggle_active(self): super().toggle_active() # Automatically load translation diff --git a/odoo/addons/base/views/res_lang_views.xml b/odoo/addons/base/views/res_lang_views.xml index 486817104a4..c12b179f004 100644 --- a/odoo/addons/base/views/res_lang_views.xml +++ b/odoo/addons/base/views/res_lang_views.xml @@ -13,9 +13,20 @@