From 8776dd2dbcf8529107c872ff82a6a3794e64b925 Mon Sep 17 00:00:00 2001 From: Benjamin Dauvergne Date: Thu, 29 Apr 2021 22:30:07 +0200 Subject: [PATCH 3/5] lingo: remove use of PaymentBackend.get_payment() (#49149) --- combo/apps/lingo/forms.py | 8 ++++---- combo/apps/lingo/models.py | 7 ++----- tests/test_lingo_manager.py | 6 +++--- 3 files changed, 9 insertions(+), 12 deletions(-) diff --git a/combo/apps/lingo/forms.py b/combo/apps/lingo/forms.py index 078e93bd..b7d1b5fd 100644 --- a/combo/apps/lingo/forms.py +++ b/combo/apps/lingo/forms.py @@ -100,7 +100,7 @@ class RegieForm(forms.ModelForm): def __init__(self, *args, **kwargs): super(RegieForm, self).__init__(*args, **kwargs) fields, initial = create_form_fields( - self.instance.payment_backend.get_payment().get_parameters(scope='transaction'), + self.instance.payment_backend.backend.get_parameters(scope='transaction'), self.instance.transaction_options, ) self.fields.update(fields) @@ -109,7 +109,7 @@ class RegieForm(forms.ModelForm): def save(self): instance = super(RegieForm, self).save() instance.transaction_options = compute_json_field( - self.instance.payment_backend.get_payment().get_parameters(scope='transaction'), self.cleaned_data + self.instance.payment_backend.backend.get_parameters(scope='transaction'), self.cleaned_data ) instance.save() return instance @@ -123,7 +123,7 @@ class PaymentBackendForm(forms.ModelForm): def __init__(self, *args, **kwargs): super(PaymentBackendForm, self).__init__(*args, **kwargs) fields, initial = create_form_fields( - self.instance.get_payment().get_parameters(scope='global'), self.instance.service_options + self.instance.backend.get_parameters(scope='global'), self.instance.service_options ) self.fields.update(fields) self.initial.update(initial) @@ -133,7 +133,7 @@ class PaymentBackendForm(forms.ModelForm): def save(self): instance = super(PaymentBackendForm, self).save() instance.service_options = compute_json_field( - self.instance.get_payment().get_parameters(scope='global'), self.cleaned_data + self.instance.backend.get_parameters(scope='global'), self.cleaned_data ) instance.save() return instance diff --git a/combo/apps/lingo/models.py b/combo/apps/lingo/models.py index 9413a944..7504a3ac 100644 --- a/combo/apps/lingo/models.py +++ b/combo/apps/lingo/models.py @@ -156,7 +156,8 @@ class PaymentBackend(models.Model): def __str__(self): return self.label - def get_payment(self): + @property + def backend(self): options = self.service_options or {} if isinstance(options, six.string_types): # backward compatibility when used againt postgresql < 9.4 and @@ -231,10 +232,6 @@ class PaymentBackend(models.Model): transaction.handle_backend_response(response, callback=callback) return transaction - @property - def backend(self): - return self.get_payment() - def can_poll_backend(self): return self.backend.has_payment_status diff --git a/tests/test_lingo_manager.py b/tests/test_lingo_manager.py index b4f1939d..1eecfac5 100644 --- a/tests/test_lingo_manager.py +++ b/tests/test_lingo_manager.py @@ -675,6 +675,6 @@ def test_edit_payment_backend_validation(app, admin_user): def test_use_old_service_options_safely(app, admin_user): - PaymentBackend(service='dummy', service_options='xx').get_payment() - PaymentBackend(service='dummy', service_options='"xx"').get_payment() - PaymentBackend(service='dummy', service_options=None).get_payment() + PaymentBackend(service='dummy', service_options='xx').backend + PaymentBackend(service='dummy', service_options='"xx"').backend + PaymentBackend(service='dummy', service_options=None).backend -- 2.31.1