From 1399d758dd48f19d158efc0100673331aef79111 Mon Sep 17 00:00:00 2001 From: Guewen Baconnier Date: Tue, 28 Oct 2014 16:25:15 +0100 Subject: [PATCH] Pass records instead of id in arguments --- account_credit_control/line.py | 5 ++--- account_credit_control/partner.py | 2 +- account_credit_control/policy.py | 3 +-- account_credit_control/run.py | 10 ++++------ 4 files changed, 8 insertions(+), 12 deletions(-) diff --git a/account_credit_control/line.py b/account_credit_control/line.py index 02d1dfbd4..16fd407e5 100644 --- a/account_credit_control/line.py +++ b/account_credit_control/line.py @@ -154,7 +154,7 @@ class CreditControlLine(models.Model): return data @api.model - def create_or_update_from_mv_lines(self, lines, level_id, controlling_date, + def create_or_update_from_mv_lines(self, lines, level, controlling_date, check_tolerance=True): """ Create or update line based on levels @@ -164,7 +164,7 @@ class CreditControlLine(models.Model): of open amount. :param lines: move.line id recordset - :param level_id: credit.control.policy.level id + :param level: credit.control.policy.level record :param controlling_date: date string of the credit controlling date. Generally it should be the same as create date @@ -187,7 +187,6 @@ class CreditControlLine(models.Model): tolerance[currency.id] = currency.compute(tolerance_base, user_currency) - level = level_obj.browse(level_id) new_lines = self.browse() for move_line in lines: open_amount = move_line.amount_residual_currency diff --git a/account_credit_control/partner.py b/account_credit_control/partner.py index 9255e7ff4..76f2c24cf 100644 --- a/account_credit_control/partner.py +++ b/account_credit_control/partner.py @@ -52,7 +52,7 @@ class ResPartner(models.Model): account = partner.property_account_receivable policy = partner.credit_policy_id try: - policy.check_policy_against_account(account.id) + policy.check_policy_against_account(account) except api.Warning as err: # constrains should raise ValidationError exceptions raise api.ValidationError(err) diff --git a/account_credit_control/policy.py b/account_credit_control/policy.py index 4806cdf95..c5a27853f 100644 --- a/account_credit_control/policy.py +++ b/account_credit_control/policy.py @@ -194,9 +194,8 @@ class CreditControlPolicy(models.Model): return different_lines @api.multi - def check_policy_against_account(self, account_id): + def check_policy_against_account(self, account): """ Ensure that the policy corresponds to account relation """ - account = self.env['account.account'].browse(account_id) policies = self.search([]) allowed = [x for x in policies if account in x.account_ids or x.do_nothing] diff --git a/account_credit_control/run.py b/account_credit_control/run.py index e25518f1c..ae64ac397 100644 --- a/account_credit_control/run.py +++ b/account_credit_control/run.py @@ -114,14 +114,12 @@ class CreditControlRun(models.Model): if lines: # policy levels are sorted by level # so iteration is in the correct order + create = cr_line_obj.create_or_update_from_mv_lines for level in reversed(policy.level_ids): level_lines = level.get_level_lines(self.date, lines) - policy_lines_generated += \ - cr_line_obj.create_or_update_from_mv_lines( - level_lines, - level.id, - self.date, - ) + policy_lines_generated += create(level_lines, + level, + self.date) generated += policy_lines_generated if policy_lines_generated: report += (_("Policy \"%s\" has generated %d Credit "