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
|
@api.model
|
||||||
def _check_view(self):
|
def _check_view(self):
|
||||||
try:
|
try:
|
||||||
|
with self.env.cr.savepoint():
|
||||||
self.env.cr.execute("SELECT COUNT(1) FROM %s", (AsIs(self._table),))
|
self.env.cr.execute("SELECT COUNT(1) FROM %s", (AsIs(self._table),))
|
||||||
return True
|
return True
|
||||||
except ObjectNotInPrerequisiteState:
|
except ObjectNotInPrerequisiteState:
|
||||||
@@ -113,18 +114,11 @@ class StockAverageDailySale(models.Model):
|
|||||||
|
|
||||||
# pylint: disable=redefined-outer-name
|
# pylint: disable=redefined-outer-name
|
||||||
@api.model
|
@api.model
|
||||||
def search_read(
|
def search(self, domain, offset=0, limit=None, order=None, count=False):
|
||||||
self, domain=None, fields=None, offset=0, limit=None, order=None, **read_kwargs
|
|
||||||
):
|
|
||||||
if not self._check_view():
|
if not self._check_view():
|
||||||
return self.browse()
|
return self.browse()
|
||||||
return super().search_read(
|
return super().search(
|
||||||
domain=domain,
|
domain=domain, offset=offset, limit=limit, order=order, count=count
|
||||||
fields=fields,
|
|
||||||
offset=offset,
|
|
||||||
limit=limit,
|
|
||||||
order=order,
|
|
||||||
**read_kwargs
|
|
||||||
)
|
)
|
||||||
|
|
||||||
@api.model
|
@api.model
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
# Copyright 2022 ACSONE SA/NV
|
# Copyright 2022 ACSONE SA/NV
|
||||||
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
|
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
|
||||||
|
|
||||||
from dateutil.relativedelta import relativedelta
|
from dateutil.relativedelta import relativedelta
|
||||||
from freezegun import freeze_time
|
from freezegun import freeze_time
|
||||||
|
|
||||||
@@ -204,3 +205,16 @@ class TestAverageSale(CommonAverageSaleTest, TransactionCase):
|
|||||||
self.env["stock.average.daily.sale"].search_read(
|
self.env["stock.average.daily.sale"].search_read(
|
||||||
[("product_id", "=", self.product_1.id)]
|
[("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