[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) <vfe@odoo.com>
This commit is contained in:
Mahdi Cheikh Rouhou (macr)
2023-12-12 23:08:55 +00:00
parent 0753deb2ba
commit 020038af1c
@@ -28,7 +28,7 @@ class ProductProduct(models.Model):
self.ensure_one() self.ensure_one()
if not self.type == 'product': if not self.type == 'product':
return False 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 return free_qty <= 0
def _website_show_quick_add(self): def _website_show_quick_add(self):