Ensure to set correct company context when calling today
issue11046 review370421002
This commit is contained in:
+2
-1
@@ -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
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user