Ensure to set correct company context when calling today

issue11046
review370421002
This commit is contained in:
Cédric Krier committed 2022-01-23 12:54:56 +01:00
1 parent 790b1f0328
commit efbc6d4221
2 files changed
+18 -7

No files matched your search

+2 -1
View File
@@ -180,7 +180,8 @@ class Product(metaclass=PoolMeta):
Date = Pool().get('ir.date')
if not date:
date = Date.today()
with Transaction().set_context(context=self._context):
date = Date.today()
lead_time = self.lead_time_used
if lead_time is None:
+16 -6
View File
@@ -754,9 +754,12 @@ class Sale(
@classmethod
def set_sale_date(cls, sales):
Date = Pool().get('ir.date')
cls.write([s for s in sales if not s.sale_date], {
'sale_date': Date.today(),
})
for company, c_sales in groupby(sales, key=lambda s: s.company):
with Transaction().set_context(company=company.id):
today = Date.today()
cls.write([s for s in c_sales if not s.sale_date], {
'sale_date': today,
})
@classmethod
def store_cache(cls, sales):
@@ -1444,11 +1447,12 @@ class SaleLine(TaxableMixin, sequence_ordered(), ModelSQL, ModelView):
@property
@fields.depends(
'product', 'quantity', 'sale',
'product', 'quantity', 'company', 'sale',
'_parent_sale.sale_date', '_parent_sale.shipping_date')
def planned_shipping_date(self):
pool = Pool()
Date = pool.get('ir.date')
transaction = Transaction()
if self.product and self.quantity is not None and self.quantity > 0:
date = self.sale.sale_date if self.sale else None
shipping_date = self.product.compute_shipping_date(date=date)
@@ -1457,7 +1461,12 @@ class SaleLine(TaxableMixin, sequence_ordered(), ModelSQL, ModelView):
elif self.sale and self.sale.shipping_date:
shipping_date = max(shipping_date, self.sale.shipping_date)
if shipping_date:
shipping_date = max(shipping_date, Date.today())
if self.company:
company_id = self.company.id
else:
company_id = transaction.context.get('company')
with transaction.set_context(company=company_id):
shipping_date = max(shipping_date, Date.today())
return shipping_date
@fields.depends('sale', '_parent_sale.currency')
@@ -1803,7 +1812,8 @@ class SaleReport(CompanyReport):
pool = Pool()
Date = pool.get('ir.date')
context = super().get_context(records, header, data)
context['today'] = Date.today()
with Transaction().set_context(company=header['company'].id):
context['today'] = Date.today()
return context