diff options
Diffstat (limited to 'odoo/addons/base')
| -rw-r--r-- | odoo/addons/base/i18n/base.pot | 6 | ||||
| -rw-r--r-- | odoo/addons/base/models/res_lang.py | 4 | ||||
| -rw-r--r-- | odoo/addons/base/tests/test_translate.py | 4 |
3 files changed, 11 insertions, 3 deletions
diff --git a/odoo/addons/base/i18n/base.pot b/odoo/addons/base/i18n/base.pot index c3819e0cb5a..2758c317b4d 100644 --- a/odoo/addons/base/i18n/base.pot +++ b/odoo/addons/base/i18n/base.pot @@ -9077,6 +9077,12 @@ msgstr "" #. module: base #: code:addons/base/models/res_lang.py:0 #, python-format +msgid "Cannot deactivate a language that is currently used by contacts." +msgstr "" + +#. module: base +#: code:addons/base/models/res_lang.py:0 +#, python-format msgid "Cannot deactivate a language that is currently used by users." msgstr "" diff --git a/odoo/addons/base/models/res_lang.py b/odoo/addons/base/models/res_lang.py index 7ab93e46fb7..16eb59b95cb 100644 --- a/odoo/addons/base/models/res_lang.py +++ b/odoo/addons/base/models/res_lang.py @@ -278,8 +278,10 @@ class Lang(models.Model): if 'code' in vals and any(code != vals['code'] for code in lang_codes): raise UserError(_("Language code cannot be modified.")) if vals.get('active') == False: - if self.env['res.users'].search([('lang', 'in', lang_codes)]): + if self.env['res.users'].search_count([('lang', 'in', lang_codes)]): raise UserError(_("Cannot deactivate a language that is currently used by users.")) + if self.env['res.partner'].search_count([('lang', 'in', lang_codes)]): + raise UserError(_("Cannot deactivate a language that is currently used by contacts.")) # delete linked ir.default specifying default partner's language self.env['ir.default'].discard_values('res.partner', 'lang', lang_codes) diff --git a/odoo/addons/base/tests/test_translate.py b/odoo/addons/base/tests/test_translate.py index 276c05bf7ba..e9b9b3a935f 100644 --- a/odoo/addons/base/tests/test_translate.py +++ b/odoo/addons/base/tests/test_translate.py @@ -437,7 +437,7 @@ class TestTranslationWrite(TransactionCase): def test_03_fr_single(self): self.env['res.lang']._activate_lang('fr_FR') - self.env['res.users'].with_context(active_test=False).search([]).write({'lang': 'fr_FR'}) + self.env['res.partner'].with_context(active_test=False).search([]).write({'lang': 'fr_FR'}) self.env.ref('base.lang_en').active = False langs = self.env['res.lang'].get_installed() @@ -483,7 +483,7 @@ class TestTranslationWrite(TransactionCase): def test_04_fr_multi_no_en(self): self.env['res.lang']._activate_lang('fr_FR') self.env['res.lang']._activate_lang('es_ES') - self.env['res.users'].with_context(active_test=False).search([]).write({'lang': 'fr_FR'}) + self.env['res.partner'].with_context(active_test=False).search([]).write({'lang': 'fr_FR'}) self.env.ref('base.lang_en').active = False langs = self.env['res.lang'].get_installed() |
