From 1e7127c92efee0ccd3590b781e6d8b85e263a73b Mon Sep 17 00:00:00 2001 From: niyasraphy Date: Sat, 15 Apr 2023 13:18:09 +0000 Subject: [PATCH] [FIX] product: traceback on deleting category before this commit, when deleting a product category from a db where expense category is already deleted before this commit [1] is raising exception after this commit, exception wont be shown in existing db where expense category is deleted. 1 https://github.com/odoo/odoo/commit/09e4b2fb586ac83adb984672e027ce6dd62affb2 closes odoo/odoo#119754 X-original-commit: 20b5518110b233ba3b59158a8362db04b9a89aad Signed-off-by: Yannick Tivisse (yti) --- addons/product/models/product_category.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/addons/product/models/product_category.py b/addons/product/models/product_category.py index c29bbb54b8a..1c16e963a5b 100644 --- a/addons/product/models/product_category.py +++ b/addons/product/models/product_category.py @@ -57,9 +57,9 @@ class ProductCategory(models.Model): @api.ondelete(at_uninstall=False) def _unlink_except_default_category(self): - main_category = self.env.ref('product.product_category_all') - if main_category in self: + main_category = self.env.ref('product.product_category_all', raise_if_not_found=False) + if main_category and main_category in self: raise UserError(_("You cannot delete this product category, it is the default generic category.")) - expense_category = self.env.ref('product.cat_expense') - if expense_category in self: + expense_category = self.env.ref('product.cat_expense', raise_if_not_found=False) + if expense_category and expense_category in self: raise UserError(_("You cannot delete the %s product category.", expense_category.name))