[FIX] account: do not allow a user to have both B2B and B2C groups

We base ourselves on commit f206714af0, which added a check on user groups.
The tax-included and tax excluded displays are meant to be exclusive,
but wily users can add themselves to both groups using the res_users view
in debug mode.

opw 1950833

closes odoo/odoo#32200

Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
This commit is contained in:
Nans Lefebvre
2019-03-28 13:04:00 +00:00
parent 353474fba2
commit 552da8dc8d
3 changed files with 25 additions and 0 deletions
+6
View File
@@ -654,6 +654,12 @@ msgstr ""
msgid "A tax fiscal position could be defined only one time on same taxes." msgid "A tax fiscal position could be defined only one time on same taxes."
msgstr "" 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 #. module: account
#: model:res.groups,name:account.group_warning_account #: model:res.groups,name:account.group_warning_account
msgid "A warning can be set on a partner (Account)" msgid "A warning can be set on a partner (Account)"
+1
View File
@@ -19,3 +19,4 @@ from . import reconciliation_widget
from . import account_incoterms from . import account_incoterms
from . import digest from . import digest
from . import account_invoice_import_wizard from . import account_invoice_import_wizard
from . import res_users
+18
View File
@@ -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'))