Improvements on the implementation

This commit is contained in:
Daniel Reis
2016-06-29 13:10:08 +01:00
committed by GitHub
parent 7a3b4df8e1
commit c3bdff329b

View File

@@ -12,19 +12,17 @@ class PurchaseOrderLine(models.Model):
def _recurring_create_invoice(self, automatic=False): def _recurring_create_invoice(self, automatic=False):
invoice_obj = self.env['account.invoice'] invoice_obj = self.env['account.invoice']
invoices = invoice_obj.browse( invoices = invoice_obj.browse(
super(PurchaseOrderLine, self)._recurring_create_invoice(automatic) super(PurchaseOrderLine, self)._recurring_create_invoice(automatic))
)
res = [] res = []
unlink_list = [] unlink_list = []
for partner in invoices.mapped('partner_id'): for partner in set(invoices.mapped('partner_id')):
inv_to_merge = invoices.filtered(lambda x: x.partner_id == partner) inv_to_merge = invoices.filtered(lambda x: x.partner_id == partner)
if partner.contract_invoice_merge and (len(inv_to_merge) > 1): if partner.contract_invoice_merge:
invoices_info = inv_to_merge.do_merge() invoices_merged = inv_to_merge.do_merge()
res.extend(invoices_info.keys()) res.extend(invoices_merged)
for inv_ids_list in invoices_info.values(): unlink_list.extend(inv_to_merge)
unlink_list.extend(inv_ids_list)
else: else:
res.extend(inv_to_merge.ids) res.extend(inv_to_merge)
if unlink_list: for inv in unlink_list:
invoice_obj.browse(unlink_list).unlink() inv.unlink()
return res return res