Delete commissions when drafting and invoice
(grafted from 2ad6ce23f37ae728ed7b84cba1757903a9883876)
This commit is contained in:
parent
48409eb084
commit
46192bcba7
12
invoice.py
12
invoice.py
|
@ -4,6 +4,7 @@
|
|||
from trytond.model import Workflow, ModelView
|
||||
from trytond.pyson import Eval
|
||||
from trytond.pool import Pool, PoolMeta
|
||||
from trytond.tools import grouped_slice
|
||||
|
||||
__all__ = ['Invoice']
|
||||
__metaclass__ = PoolMeta
|
||||
|
@ -38,6 +39,10 @@ class Invoice:
|
|||
Payment = pool.get('account.payment')
|
||||
except KeyError:
|
||||
Payment = None
|
||||
try:
|
||||
Commission = pool.get('commission')
|
||||
except KeyError:
|
||||
Commission = None
|
||||
moves = []
|
||||
lines = []
|
||||
for invoice in invoices:
|
||||
|
@ -53,6 +58,13 @@ class Invoice:
|
|||
])
|
||||
if payments:
|
||||
Payment.write(payments, {'line': None})
|
||||
if Commission:
|
||||
for sub_invoices in grouped_slice(invoices):
|
||||
ids = [i.id for i in sub_invoices]
|
||||
commissions = Commission.search([
|
||||
('origin.invoice', 'in', ids, 'account.invoice.line'),
|
||||
])
|
||||
Commission.delete(commissions)
|
||||
cls.write(invoices, {
|
||||
'invoice_report_format': None,
|
||||
'invoice_report_cache': None,
|
||||
|
|
|
@ -5,4 +5,5 @@ depends:
|
|||
account_invoice
|
||||
extras_depend:
|
||||
account_payment
|
||||
comission
|
||||
xml:
|
||||
|
|
Loading…
Reference in New Issue