[FIX] product: allow to create products even when dumb people do delete default category
(or at least give 'em a hint on what's happening) opw-751701
This commit is contained in:
@@ -7,7 +7,7 @@ import psycopg2
|
||||
import odoo.addons.decimal_precision as dp
|
||||
|
||||
from odoo import api, fields, models, tools, _
|
||||
from odoo.exceptions import ValidationError, except_orm
|
||||
from odoo.exceptions import ValidationError, RedirectWarning, except_orm
|
||||
|
||||
|
||||
class ProductTemplate(models.Model):
|
||||
@@ -20,7 +20,16 @@ class ProductTemplate(models.Model):
|
||||
if self._context.get('categ_id') or self._context.get('default_categ_id'):
|
||||
return self._context.get('categ_id') or self._context.get('default_categ_id')
|
||||
category = self.env.ref('product.product_category_all', raise_if_not_found=False)
|
||||
return category.id if category.type == 'normal' else False
|
||||
if category and category.type == 'normal':
|
||||
return category.id
|
||||
# fallback if no category "All" exists, because yes, users do delete default data!
|
||||
category = self.env['product.category'].search([('type', '=', 'normal')], limit=1)
|
||||
if category:
|
||||
return category.id
|
||||
else:
|
||||
err_msg = _('You must define at least one product category (that is not a view) in order to be able to create products.')
|
||||
redir_msg = _('Go to Internal Categories')
|
||||
raise RedirectWarning(err_msg, self.env.ref('product.product_category_action_form').id, redir_msg)
|
||||
|
||||
def _get_default_uom_id(self):
|
||||
return self.env["product.uom"].search([], limit=1, order='id').id
|
||||
|
||||
Reference in New Issue
Block a user