summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--addons/account/i18n/account.pot6
-rw-r--r--addons/account/models/__init__.py1
-rw-r--r--addons/account/models/res_users.py18
3 files changed, 25 insertions, 0 deletions
diff --git a/addons/account/i18n/account.pot b/addons/account/i18n/account.pot
index 063c8af308b..7d790411b5d 100644
--- a/addons/account/i18n/account.pot
+++ b/addons/account/i18n/account.pot
@@ -655,6 +655,12 @@ msgid "A tax fiscal position could be defined only one time on same taxes."
msgstr ""
#. module: account
+#: code:addons/account/models/res_users.py:17
+#, python-format
+msgid "A user cannot have both Tax B2B and Tax B2C"
+msgstr ""
+
+#. module: account
#: model:res.groups,name:account.group_warning_account
msgid "A warning can be set on a partner (Account)"
msgstr ""
diff --git a/addons/account/models/__init__.py b/addons/account/models/__init__.py
index b6b023055b8..5f99c57e04d 100644
--- a/addons/account/models/__init__.py
+++ b/addons/account/models/__init__.py
@@ -19,3 +19,4 @@ from . import reconciliation_widget
from . import account_incoterms
from . import digest
from . import account_invoice_import_wizard
+from . import res_users
diff --git a/addons/account/models/res_users.py b/addons/account/models/res_users.py
new file mode 100644
index 00000000000..3e6fd163482
--- /dev/null
+++ b/addons/account/models/res_users.py
@@ -0,0 +1,18 @@
+# -*- coding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+from odoo import api, models, _
+from odoo.exceptions import ValidationError
+
+
+class Users(models.Model):
+ _inherit = "res.users"
+
+ @api.multi
+ @api.constrains('groups_id')
+ def _check_one_user_type(self):
+ super(Users, self)._check_one_user_type()
+ for user in self:
+ if (user.user_has_groups('account.group_show_line_subtotals_tax_included') and
+ user.user_has_groups('account.group_show_line_subtotals_tax_excluded')):
+ raise ValidationError(_('A user cannot have both Tax B2B and Tax B2C'))