From fbee4d8217b980656303ca0c6c07c8d7415e0124 Mon Sep 17 00:00:00 2001 From: Guewen Baconnier Date: Wed, 4 Sep 2013 14:29:15 +0200 Subject: [PATCH] [FIX] do not copy lines credit control lines when partners or accounts are duplicated --- account_credit_control/account.py | 20 ++++++++++++++++++++ account_credit_control/partner.py | 9 +++++++++ account_credit_control/run.py | 12 ++++++++++++ 3 files changed, 41 insertions(+) diff --git a/account_credit_control/account.py b/account_credit_control/account.py index 3eaf23950..ff2b35691 100644 --- a/account_credit_control/account.py +++ b/account_credit_control/account.py @@ -20,6 +20,7 @@ ############################################################################## from openerp.osv import orm, fields + class AccountAccount(orm.Model): """Add a link to a credit control policy on account.account""" @@ -33,6 +34,15 @@ class AccountAccount(orm.Model): readonly=True), } + def copy_data(self, cr, uid, id, default=None, context=None): + if default is None: + default = {} + else: + default = default.copy() + default['credit_control_line_ids'] = False + return super(AccountAccount, self).copy_data( + cr, uid, id, default=default, context=context) + class AccountInvoice(orm.Model): """Add a link to a credit control policy on account.account""" @@ -69,6 +79,16 @@ class AccountInvoice(orm.Model): line.write({'invoice_id': inv.id}, context=ctxt) return res + def copy_data(self, cr, uid, id, default=None, context=None): + if default is None: + default = {} + else: + default = default.copy() + default = default.copy() + default['credit_control_line_ids'] = False + return super(AccountInvoice, self).copy_data( + cr, uid, id, default=default, context=context) + class AccountMoveLine(orm.Model): diff --git a/account_credit_control/partner.py b/account_credit_control/partner.py index 57e88561d..0e4605081 100644 --- a/account_credit_control/partner.py +++ b/account_credit_control/partner.py @@ -41,3 +41,12 @@ class ResPartner(orm.Model): string='Credit Control Lines', readonly=True) } + + def copy_data(self, cr, uid, id, default=None, context=None): + if default is None: + default = {} + else: + default = default.copy() + default['credit_control_line_ids'] = False + return super(ResPartner, self).copy_data( + cr, uid, id, default=default, context=context) diff --git a/account_credit_control/run.py b/account_credit_control/run.py index 656de6bd4..1fc739b9f 100644 --- a/account_credit_control/run.py +++ b/account_credit_control/run.py @@ -61,6 +61,18 @@ class CreditControlRun(orm.Model): readonly=True), } + def copy_data(self, cr, uid, id, default=None, context=None): + if default is None: + default = {} + else: + default = default.copy() + default.update({ + 'report': False, + 'manual_ids': False, + }) + return super(CreditControlRun, self).copy_data( + cr, uid, id, default=default, context=context) + def _get_policies(self, cr, uid, context=None): return self.pool['credit.control.policy'].search(cr, uid, [], context=context)