Ensure to set correct company context when calling today

issue11046
review370421002
This commit is contained in:
Cédric Krier
2022-01-23 12:54:56 +01:00
parent 1878c2d49e
commit f7621602f3
2 changed files with 17 additions and 12 deletions
+2 -1
View File
@@ -203,7 +203,8 @@ class AgentSelection(sequence_ordered(), MatchMixin, ModelSQL, ModelView):
pattern = pattern.copy()
if 'company' in pattern:
pattern.pop('company')
date = pattern.pop('date', None) or Date.today()
with Transaction().set_context(company=self.company.id):
date = pattern.pop('date', None) or Date.today()
if self.start_date and self.start_date > date:
return False
if self.end_date and self.end_date < date:
+15 -11
View File
@@ -1,6 +1,7 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
from collections import defaultdict
from itertools import groupby
from trytond.model import ModelView, Workflow, fields
from trytond.modules.product import round_price
@@ -57,19 +58,21 @@ class Invoice(metaclass=PoolMeta):
Date = pool.get('ir.date')
Commission = pool.get('commission')
today = Date.today()
super(Invoice, cls).paid(invoices)
date2commissions = defaultdict(list)
for sub_invoices in grouped_slice(invoices):
ids = [i.id for i in sub_invoices]
for commission in Commission.search([
('date', '=', None),
('origin.invoice', 'in', ids, 'account.invoice.line'),
]):
date = commission.origin.invoice.reconciled or today
date2commissions[date].append(commission)
for company, c_invoices in groupby(invoices, key=lambda i: i.company):
with Transaction().set_context(company=company.id):
today = Date.today()
for sub_invoices in grouped_slice(list(c_invoices)):
ids = [i.id for i in sub_invoices]
for commission in Commission.search([
('date', '=', None),
('origin.invoice', 'in', ids,
'account.invoice.line'),
]):
date = commission.origin.invoice.reconciled or today
date2commissions[date].append(commission)
to_write = []
for date, commissions in date2commissions.items():
to_write.append(commissions)
@@ -158,7 +161,8 @@ class InvoiceLine(metaclass=PoolMeta):
if self.type != 'line':
return []
today = Date.today()
with Transaction().set_context(company=self.invoice.company.id):
today = Date.today()
commissions = []
for agent, plan in self.agent_plans_used:
if not plan: