[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."
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)"
+1
View File
@@ -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
+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'))