[FIX] point_of_sale: check constraints before opening POS session

Set up the POS config to use a default pricelist that is archived.
Open a new POS session.
The constraints are checked, and an exception is raised:
"The default pricelist must be included in the available pricelists."
However, if the session is already opened, the check is not done at resume.
If the pricelist is archived, the session fails to load entirely:
after loading phase, the screen turns black and nothing happens.
Since the constraints are really useful to load the POS, we trigger an explicit
check of all constraints (there are a lot more than our example) when opening
the POS.

opw 2033453

closes odoo/odoo#35077

Signed-off-by: Richard Mathot (rim) <rim@openerp.com>
This commit is contained in:
Nans Lefebvre
2019-07-22 14:32:05 +00:00
parent b6e7af37eb
commit 5e4c1b3701
@@ -423,6 +423,8 @@ class PosConfig(models.Model):
def open_ui(self):
""" open the pos interface """
self.ensure_one()
# check all constraints, raises if any is not met
self._validate_fields(self._fields)
return {
'type': 'ir.actions.act_url',
'url': '/pos/web/',