0003-lingo-remove-use-of-PaymentBackend.get_payment-49149.patch
combo/apps/lingo/forms.py | ||
---|---|---|
100 | 100 |
def __init__(self, *args, **kwargs): |
101 | 101 |
super(RegieForm, self).__init__(*args, **kwargs) |
102 | 102 |
fields, initial = create_form_fields( |
103 |
self.instance.payment_backend.get_payment().get_parameters(scope='transaction'),
|
|
103 |
self.instance.payment_backend.backend.get_parameters(scope='transaction'),
|
|
104 | 104 |
self.instance.transaction_options, |
105 | 105 |
) |
106 | 106 |
self.fields.update(fields) |
... | ... | |
109 | 109 |
def save(self): |
110 | 110 |
instance = super(RegieForm, self).save() |
111 | 111 |
instance.transaction_options = compute_json_field( |
112 |
self.instance.payment_backend.get_payment().get_parameters(scope='transaction'), self.cleaned_data
|
|
112 |
self.instance.payment_backend.backend.get_parameters(scope='transaction'), self.cleaned_data
|
|
113 | 113 |
) |
114 | 114 |
instance.save() |
115 | 115 |
return instance |
... | ... | |
123 | 123 |
def __init__(self, *args, **kwargs): |
124 | 124 |
super(PaymentBackendForm, self).__init__(*args, **kwargs) |
125 | 125 |
fields, initial = create_form_fields( |
126 |
self.instance.get_payment().get_parameters(scope='global'), self.instance.service_options
|
|
126 |
self.instance.backend.get_parameters(scope='global'), self.instance.service_options
|
|
127 | 127 |
) |
128 | 128 |
self.fields.update(fields) |
129 | 129 |
self.initial.update(initial) |
... | ... | |
133 | 133 |
def save(self): |
134 | 134 |
instance = super(PaymentBackendForm, self).save() |
135 | 135 |
instance.service_options = compute_json_field( |
136 |
self.instance.get_payment().get_parameters(scope='global'), self.cleaned_data
|
|
136 |
self.instance.backend.get_parameters(scope='global'), self.cleaned_data
|
|
137 | 137 |
) |
138 | 138 |
instance.save() |
139 | 139 |
return instance |
combo/apps/lingo/models.py | ||
---|---|---|
156 | 156 |
def __str__(self): |
157 | 157 |
return self.label |
158 | 158 | |
159 |
def get_payment(self): |
|
159 |
@property |
|
160 |
def backend(self): |
|
160 | 161 |
options = self.service_options or {} |
161 | 162 |
if isinstance(options, six.string_types): |
162 | 163 |
# backward compatibility when used againt postgresql < 9.4 and |
... | ... | |
231 | 232 |
transaction.handle_backend_response(response, callback=callback) |
232 | 233 |
return transaction |
233 | 234 | |
234 |
@property |
|
235 |
def backend(self): |
|
236 |
return self.get_payment() |
|
237 | ||
238 | 235 |
def can_poll_backend(self): |
239 | 236 |
return self.backend.has_payment_status |
240 | 237 |
tests/test_lingo_manager.py | ||
---|---|---|
675 | 675 | |
676 | 676 | |
677 | 677 |
def test_use_old_service_options_safely(app, admin_user): |
678 |
PaymentBackend(service='dummy', service_options='xx').get_payment() |
|
679 |
PaymentBackend(service='dummy', service_options='"xx"').get_payment() |
|
680 |
PaymentBackend(service='dummy', service_options=None).get_payment() |
|
678 |
PaymentBackend(service='dummy', service_options='xx').backend |
|
679 |
PaymentBackend(service='dummy', service_options='"xx"').backend |
|
680 |
PaymentBackend(service='dummy', service_options=None).backend |
|
681 |
- |