diff options
| author | Victor Feyens <vfe@odoo.com> | 2019-07-18 13:56:34 +0000 |
|---|---|---|
| committer | Victor Feyens <vfe@odoo.com> | 2019-08-12 08:45:50 +0000 |
| commit | f0e059e6010605b5cce2a3055ed3aaf7730534fa (patch) | |
| tree | a90dce7fae7b1bb6f04cd48abcae06ff74b36f71 /addons/payment_adyen | |
| parent | 611fde6c8828d7d89b8c7f90b60484c58debcf73 (diff) | |
[REF] payment* : state based publishing
Replace website_published and environment by a generic state on
payment.acquirer
Payment acquirers aren't enabled by default. When setting their state to 'enabled' or 'test', it is verified the required fields for the provider are set.
Diffstat (limited to 'addons/payment_adyen')
| -rw-r--r-- | addons/payment_adyen/data/payment_acquirer_data.xml | 4 | ||||
| -rw-r--r-- | addons/payment_adyen/models/payment.py | 4 | ||||
| -rw-r--r-- | addons/payment_adyen/tests/test_adyen.py | 11 | ||||
| -rw-r--r-- | addons/payment_adyen/views/payment_views.xml | 6 |
4 files changed, 15 insertions, 10 deletions
diff --git a/addons/payment_adyen/data/payment_acquirer_data.xml b/addons/payment_adyen/data/payment_acquirer_data.xml index 18e3bb8afde..ba877ca5058 100644 --- a/addons/payment_adyen/data/payment_acquirer_data.xml +++ b/addons/payment_adyen/data/payment_acquirer_data.xml @@ -8,12 +8,8 @@ <field name="provider">adyen</field> <field name="company_id" ref="base.main_company"/> <field name="view_template_id" ref="adyen_form"/> - <field name="environment">test</field> <field name="pre_msg"><![CDATA[ <p>You will be redirected to the Adyen website after clicking on the payment button.</p>]]></field> - <field name="adyen_merchant_account">dummy</field> - <field name="adyen_skin_code">dummy</field> - <field name="adyen_skin_hmac_key">dummy</field> </record> </data> diff --git a/addons/payment_adyen/models/payment.py b/addons/payment_adyen/models/payment.py index 66001bc69b4..584e28ab4a0 100644 --- a/addons/payment_adyen/models/payment.py +++ b/addons/payment_adyen/models/payment.py @@ -191,7 +191,9 @@ class AcquirerAdyen(models.Model): return values def adyen_get_form_action_url(self): - return self._get_adyen_urls(self.environment)['adyen_form_url'] + self.ensure_one() + environment = 'prod' if self.state == 'enabled' else 'test' + return self._get_adyen_urls(environment)['adyen_form_url'] class TxAdyen(models.Model): diff --git a/addons/payment_adyen/tests/test_adyen.py b/addons/payment_adyen/tests/test_adyen.py index 16462b74667..bb02532a06c 100644 --- a/addons/payment_adyen/tests/test_adyen.py +++ b/addons/payment_adyen/tests/test_adyen.py @@ -28,6 +28,13 @@ class AdyenCommon(PaymentAcquirerCommon): self.dsmastercard = (('521234567890 1234', '737', 'user', 'password')) self.dsvisa = (('4212345678901237', '737', 'user', 'password')) self.mistercash = (('6703444444444449', None, 'user', 'password')) + self.adyen = self.env.ref('payment.payment_acquirer_adyen') + self.adyen.write({ + 'adyen_merchant_account': 'dummy', + 'adyen_skin_code': 'dummy', + 'adyen_skin_hmac_key': 'dummy', + 'state': 'test', + }) @odoo.tests.tagged('post_install', '-at_install', 'external', '-standard') @@ -35,8 +42,8 @@ class AdyenForm(AdyenCommon): def test_10_adyen_form_render(self): # be sure not to do stupid things - adyen = self.env.ref('payment.payment_acquirer_adyen') - self.assertEqual(adyen.environment, 'test', 'test without test environment') + adyen = self.adyen + self.assertEqual(adyen.state, 'test', 'test without test environment') # ---------------------------------------- # Test: button direct rendering diff --git a/addons/payment_adyen/views/payment_views.xml b/addons/payment_adyen/views/payment_views.xml index 8d4beeb69b1..af6fac2582d 100644 --- a/addons/payment_adyen/views/payment_views.xml +++ b/addons/payment_adyen/views/payment_views.xml @@ -9,9 +9,9 @@ <field name="arch" type="xml"> <xpath expr='//group[@name="acquirer"]' position='inside'> <group attrs="{'invisible': [('provider', '!=', 'adyen')]}"> - <field name="adyen_merchant_account"/> - <field name="adyen_skin_code"/> - <field name="adyen_skin_hmac_key"/> + <field name="adyen_merchant_account" attrs="{'required':[('provider', '=', 'adyen'), ('state', '!=', 'disabled')]}"/> + <field name="adyen_skin_code" attrs="{'required':[('provider', '=', 'adyen'), ('state', '!=', 'disabled')]}"/> + <field name="adyen_skin_hmac_key" attrs="{'required':[('provider', '=', 'adyen'), ('state', '!=', 'disabled')]}"/> <a colspan="2" href="https://www.adyen.com/home/payment-services/online-payments" target="_blank">How to configure your Adyen account?</a> </group> </xpath> |
