From 020038af1cb708661cc0a00a3205cb08a3d31ed0 Mon Sep 17 00:00:00 2001 From: "Mahdi Cheikh Rouhou (macr)" Date: Tue, 12 Dec 2023 12:33:10 +0100 Subject: [PATCH] [FIX] website_sale_stock: solve access error product quick add Issue: ====== When we have a product with `out of stock:continue selling` disabled, accessing the shop page will give an access error. Steps to reproduce the issue: ============================= - Make sure to have a storable product with `out of stock: continue selling` disabled in the sales tab of the product. - Log out and go to shop - Access error related to warehouse records Origin of the issue: ==================== The function `_website_show_quick_add` being called from the template in odoo/addons/website_sale/views/templates.xml to display the shopping card button in at the bottom of the product. Since the user is public he doesn't have the right to access the record in warehouse to see if the product is out of stock or not. The test `test_back_in_stock_notification_product` already tests the fix and doesn't work without this fix , so no need to add extra test. opw-3620172 closes odoo/odoo#145916 Signed-off-by: Victor Feyens (vfe) --- addons/website_sale_stock/models/product_product.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/website_sale_stock/models/product_product.py b/addons/website_sale_stock/models/product_product.py index d55e06d356e..121a26fa7f9 100644 --- a/addons/website_sale_stock/models/product_product.py +++ b/addons/website_sale_stock/models/product_product.py @@ -28,7 +28,7 @@ class ProductProduct(models.Model): self.ensure_one() if not self.type == 'product': return False - free_qty = self.env['website'].get_current_website()._get_product_available_qty(self) + free_qty = self.env['website'].get_current_website()._get_product_available_qty(self.sudo()) return free_qty <= 0 def _website_show_quick_add(self):