diff --git a/addons/membership/membership.py b/addons/membership/membership.py index 895d6ca7261..992632bdf6f 100644 --- a/addons/membership/membership.py +++ b/addons/membership/membership.py @@ -488,6 +488,16 @@ class Invoice(osv.osv): member_line_obj.write(cr, uid, mlines, {'date_cancel': today}) return super(Invoice, self).action_cancel(cr, uid, ids, context=context) + # TODO master: replace by ondelete='cascade' + def unlink(self, cr, uid, ids, context=None): + member_line_obj = self.pool.get('membership.membership_line') + for invoice in self.browse(cr, uid, ids, context=context): + mlines = member_line_obj.search(cr, uid, + [('account_invoice_line', 'in', + [l.id for l in invoice.invoice_line])]) + member_line_obj.unlink(cr, uid, mlines, context=context) + return super(Invoice, self).unlink(cr, uid, ids, context=context) + class account_invoice_line(osv.osv): _inherit='account.invoice.line' @@ -520,6 +530,7 @@ class account_invoice_line(osv.osv): member_line_obj.unlink(cr, uid, ml_ids, context=context) return res + # TODO master: replace by ondelete='cascade' def unlink(self, cr, uid, ids, context=None): """Remove Membership Line Record for Account Invoice Line """