Delete commissions when drafting and invoice

(grafted from 2ad6ce23f37ae728ed7b84cba1757903a9883876)
This commit is contained in:
Sergi Almacellas Abellana 2016-04-07 16:20:42 +02:00
parent 48409eb084
commit 46192bcba7
2 changed files with 13 additions and 0 deletions

View File

@ -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,

View File

@ -5,4 +5,5 @@ depends:
account_invoice
extras_depend:
account_payment
comission
xml: