mirror of
https://github.com/OCA/stock-logistics-reporting.git
synced 2025-02-16 17:13:21 +02:00
[IMP] stock_average_daily_sale: Avoid errors in all searches and return browse record
This commit is contained in:
committed by
twalter-c2c
parent
13300ee755
commit
8ecd2cd37e
@@ -101,6 +101,7 @@ class StockAverageDailySale(models.Model):
|
||||
@api.model
|
||||
def _check_view(self):
|
||||
try:
|
||||
with self.env.cr.savepoint():
|
||||
self.env.cr.execute("SELECT COUNT(1) FROM %s", (AsIs(self._table),))
|
||||
return True
|
||||
except ObjectNotInPrerequisiteState:
|
||||
@@ -113,18 +114,11 @@ class StockAverageDailySale(models.Model):
|
||||
|
||||
# pylint: disable=redefined-outer-name
|
||||
@api.model
|
||||
def search_read(
|
||||
self, domain=None, fields=None, offset=0, limit=None, order=None, **read_kwargs
|
||||
):
|
||||
def search(self, domain, offset=0, limit=None, order=None, count=False):
|
||||
if not self._check_view():
|
||||
return self.browse()
|
||||
return super().search_read(
|
||||
domain=domain,
|
||||
fields=fields,
|
||||
offset=offset,
|
||||
limit=limit,
|
||||
order=order,
|
||||
**read_kwargs
|
||||
return super().search(
|
||||
domain=domain, offset=offset, limit=limit, order=order, count=count
|
||||
)
|
||||
|
||||
@api.model
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
# Copyright 2022 ACSONE SA/NV
|
||||
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
|
||||
|
||||
from dateutil.relativedelta import relativedelta
|
||||
from freezegun import freeze_time
|
||||
|
||||
@@ -204,3 +205,16 @@ class TestAverageSale(CommonAverageSaleTest, TransactionCase):
|
||||
self.env["stock.average.daily.sale"].search_read(
|
||||
[("product_id", "=", self.product_1.id)]
|
||||
)
|
||||
|
||||
def test_view_not_refreshed(self):
|
||||
with self.assertLogs(
|
||||
"odoo.addons.stock_average_daily_sale.models.stock_average_daily_sale",
|
||||
level="WARNING",
|
||||
) as logger:
|
||||
self.env["stock.average.daily.sale"].search(
|
||||
[("product_id", "=", self.product_1.id)]
|
||||
)
|
||||
self.assertIn(
|
||||
str("The materialized view has not been populated. Launch the cron."),
|
||||
str(logger.output),
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user