[FIX] stock: do not raise error

Although this makes sense to warn the user, a `UserError` stops the
execution of onchanges but do not prevent saving incorrect settings. A
non-blocking warning would be another solution, but one issue remains:
a pop-up is raised when the user opens the settings, even if they are
unrelated (e.g.: open Website settings, an error message implying
Inventory appears).

This reverts commit c7beb9994f.

closes odoo/odoo#35511

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
This commit is contained in:
Nicolas Martinelli
2019-08-07 05:59:45 +00:00
parent 066722b2f6
commit dd0e3fee02
2 changed files with 1 additions and 16 deletions
-7
View File
@@ -6495,13 +6495,6 @@ msgstr ""
msgid "You need to supply a Lot/Serial number for product %s."
msgstr ""
#. module: stock
#: code:addons/stock/models/res_config_settings.py:70
#, python-format
msgid "You should not remove the 'lots and serial numbers' option while the following products are still tracked by lot or serial number:\n"
" %s"
msgstr ""
#. module: stock
#: code:addons/stock/models/product.py:394
#: code:addons/stock/models/product.py:538
+1 -9
View File
@@ -1,8 +1,7 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo import api, fields, models, _
from odoo.exceptions import UserError
from odoo import api, fields, models
class ResConfigSettings(models.TransientModel):
@@ -65,13 +64,6 @@ class ResConfigSettings(models.TransientModel):
def _onchange_group_stock_production_lot(self):
if not self.group_stock_production_lot:
self.group_lot_on_delivery_slip = False
tracked_products = self.env['product.template'].search([('tracking', 'in', ['lot', 'serial']),])
if not self.group_stock_production_lot and tracked_products:
names = ", ".join(tracked_products.mapped('display_name') if len(tracked_products) <= 10
else tracked_products[:10].mapped('display_name') + ["..."])
raise UserError(_("You should not remove the 'lots and serial numbers' "
"option while the following products are still tracked by lot "
"or serial number:\n %s") % names)
@api.onchange('group_stock_adv_location')
def onchange_adv_location(self):