From cb85dc90802bc9b809bcc5f8d49d842a9437c6f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Sat, 3 Apr 2021 14:27:10 +0200 Subject: [PATCH] Add company pattern to multivalue calls issue10162 review335761002 --- payment.py | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/payment.py b/payment.py index 89318ab77b..195f3c8925 100644 --- a/payment.py +++ b/payment.py @@ -539,6 +539,11 @@ class Mandate(Workflow, ModelSQL, ModelView): def default_company(): return Transaction().context.get('company') + @fields.depends('company') + def on_change_company(self): + self.identification_readonly = self.default_identification_readonly( + company=self.company.id if self.company else None) + @staticmethod def default_type(): return 'recurrent' @@ -555,12 +560,12 @@ class Mandate(Workflow, ModelSQL, ModelView): def default_state(): return 'draft' - @staticmethod - def default_identification_readonly(): + @classmethod + def default_identification_readonly(cls, **pattern): pool = Pool() Configuration = pool.get('account.configuration') config = Configuration(1) - return bool(config.sepa_mandate_sequence) + return bool(config.get_multivalue('sepa_mandate_sequence', **pattern)) def get_identification_readonly(self, name): return bool(self.identification) @@ -591,10 +596,13 @@ class Mandate(Workflow, ModelSQL, ModelView): config = Configuration(1) vlist = [v.copy() for v in vlist] + default_company = cls.default_company() for values in vlist: if (config.sepa_mandate_sequence and not values.get('identification')): - values['identification'] = config.sepa_mandate_sequence.get() + values['identification'] = config.get_multivalue( + 'sepa_mandate_sequence', + company=values.get('company', default_company)).get() # Prevent raising false unique constraint if values.get('identification') == '': values['identification'] = None