diff options
| author | Damien Bouvy <dbo@odoo.com> | 2015-09-04 15:57:07 +0200 |
|---|---|---|
| committer | Damien Bouvy <dbo@odoo.com> | 2015-09-04 16:08:22 +0200 |
| commit | 526f27ddac8b6d69f3dbbd91e7a83ab9c76c0a5a (patch) | |
| tree | 3eccb217ff97c6fbca90e9f4f446c2fd3de888b9 /addons/payment_adyen | |
| parent | f76c78d598307e337db19cc89688c57b84480cda (diff) | |
[IMP] payment,payment_*,website_quote,website_sale: new rendering mechanism compatibility for payment providers
merge *ALL* the dicts
The form rendering used to receive a dict for partner information and a dict for tx information and to transmit another dict to the qweb template; now everything is done in a single dict
Diffstat (limited to 'addons/payment_adyen')
| -rw-r--r-- | addons/payment_adyen/models/adyen.py | 20 | ||||
| -rw-r--r-- | addons/payment_adyen/views/adyen.xml | 26 |
2 files changed, 22 insertions, 24 deletions
diff --git a/addons/payment_adyen/models/adyen.py b/addons/payment_adyen/models/adyen.py index 4facd11be17..7c89a53e390 100644 --- a/addons/payment_adyen/models/adyen.py +++ b/addons/payment_adyen/models/adyen.py @@ -71,7 +71,7 @@ class AcquirerAdyen(osv.Model): key = acquirer.adyen_skin_hmac_key.encode('ascii') return base64.b64encode(hmac.new(key, sign, sha1).digest()) - def adyen_form_generate_values(self, cr, uid, id, partner_values, tx_values, context=None): + def adyen_form_generate_values(self, cr, uid, id, values, context=None): base_url = self.pool['ir.config_parameter'].get_param(cr, uid, 'web.base.url') acquirer = self.browse(cr, uid, id, context=context) # tmp @@ -79,22 +79,20 @@ class AcquirerAdyen(osv.Model): from dateutil import relativedelta tmp_date = datetime.date.today() + relativedelta.relativedelta(days=1) - adyen_tx_values = dict(tx_values) - adyen_tx_values.update({ - 'merchantReference': tx_values['reference'], - 'paymentAmount': '%d' % int(float_round(tx_values['amount'], 2) * 100), - 'currencyCode': tx_values['currency'] and tx_values['currency'].name or '', + values.update({ + 'merchantReference': values['reference'], + 'paymentAmount': '%d' % int(float_round(values['amount'], 2) * 100), + 'currencyCode': values['currency'] and values['currency'].name or '', 'shipBeforeDate': tmp_date, 'skinCode': acquirer.adyen_skin_code, 'merchantAccount': acquirer.adyen_merchant_account, - 'shopperLocale': partner_values['lang'], + 'shopperLocale': values.get('partner_lang'), 'sessionValidity': tmp_date, 'resURL': '%s' % urlparse.urljoin(base_url, AdyenController._return_url), + 'merchantReturnData': json.dumps({'return_url': '%s' % values.pop('return_url')}) if values.get('return_url') else False, + 'merchantSig': self._adyen_generate_merchant_sig(acquirer, 'in', values), }) - if adyen_tx_values.get('return_url'): - adyen_tx_values['merchantReturnData'] = json.dumps({'return_url': '%s' % adyen_tx_values.pop('return_url')}) - adyen_tx_values['merchantSig'] = self._adyen_generate_merchant_sig(acquirer, 'in', adyen_tx_values) - return partner_values, adyen_tx_values + return values def adyen_get_form_action_url(self, cr, uid, id, context=None): acquirer = self.browse(cr, uid, id, context=context) diff --git a/addons/payment_adyen/views/adyen.xml b/addons/payment_adyen/views/adyen.xml index 79281f43a99..76856158030 100644 --- a/addons/payment_adyen/views/adyen.xml +++ b/addons/payment_adyen/views/adyen.xml @@ -4,21 +4,21 @@ <template id="adyen_acquirer_button"> <form t-if="acquirer.adyen_merchant_account" t-att-action="tx_url" method="post" target="_self"> - <input type="hidden" name="merchantReference" t-att-value="tx_values['merchantReference']"/> - <input type="hidden" name="paymentAmount" t-att-value="tx_values['paymentAmount'] or '0.0'"/> - <input type="hidden" name="currencyCode" t-att-value="tx_values['currencyCode']"/> - <input type="hidden" name="shipBeforeDate" t-att-value="tx_values['shipBeforeDate']"/> - <input type="hidden" name="skinCode" t-att-value="tx_values['skinCode']"/> - <input type="hidden" name="merchantAccount" t-att-value="tx_values['merchantAccount']"/> - <input type="hidden" name="shopperLocale" t-att-value="tx_values['shopperLocale']"/> - <input type="hidden" name="sessionValidity" t-att-value="tx_values['sessionValidity']"/> - <input type="hidden" name="merchantSig" t-att-value="tx_values['merchantSig']"/> + <input type="hidden" name="merchantReference" t-att-value="merchantReference"/> + <input type="hidden" name="paymentAmount" t-att-value="paymentAmount"/> + <input type="hidden" name="currencyCode" t-att-value="currencyCode"/> + <input type="hidden" name="shipBeforeDate" t-att-value="shipBeforeDate"/> + <input type="hidden" name="skinCode" t-att-value="skinCode"/> + <input type="hidden" name="merchantAccount" t-att-value="merchantAccount"/> + <input type="hidden" name="shopperLocale" t-att-value="shopperLocale"/> + <input type="hidden" name="sessionValidity" t-att-value="sessionValidity"/> + <input type="hidden" name="merchantSig" t-att-value="merchantSig"/> <!-- URLs --> - <input t-if="tx_values.get('resURL')" type='hidden' name='resURL' - t-att-value="tx_values.get('resURL')"/> + <input type='hidden' name='resURL' + t-att-value="resURL"/> <!-- custom --> - <input t-if="tx_values.get('merchantReturnData')" type='hidden' name='merchantReturnData' - t-att-value="tx_values.get('merchantReturnData')"/> + <input t-if="merchantReturnData" type='hidden' name='merchantReturnData' + t-att-value="merchantReturnData"/> <!-- submit --> <button type="submit" width="100px" t-att-class="submit_class"> |
