Improvements on the implementation

This commit is contained in:
Daniel Reis
2016-06-29 13:10:08 +01:00
committed by cubells
parent 3581f50596
commit cc37ca4b2e

View File

@@ -12,19 +12,19 @@ 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 invoices.mapped('partner_id'):
inv_to_merge = invoices.filtered(lambda x: x.partner_id == partner) inv_to_merge = invoices.filtered(
if partner.contract_invoice_merge and (len(inv_to_merge) > 1): lambda x: x.partner_id.id == partner)
invoices_info = inv_to_merge.do_merge() if partner.contract_invoice_merge and len(inv_to_merge) > 1:
res.extend(invoices_info.keys()) invoices_merged = inv_to_merge.do_merge()
for inv_ids_list in invoices_info.values(): res.extend(invoices_merged)
unlink_list.extend(inv_ids_list) unlink_list.extend(inv_to_merge)
else: else:
res.extend(inv_to_merge.ids) res.extend(inv_to_merge)
if unlink_list: if unlink_list:
invoice_obj.browse(unlink_list).unlink() invoice_obj.browse(unlink_list).unlink()
return res return res