summaryrefslogtreecommitdiff
path: root/addons/payment_adyen
diff options
context:
space:
mode:
authorDamien Bouvy <dbo@odoo.com>2015-09-04 15:57:07 +0200
committerDamien Bouvy <dbo@odoo.com>2015-09-04 16:08:22 +0200
commit526f27ddac8b6d69f3dbbd91e7a83ab9c76c0a5a (patch)
tree3eccb217ff97c6fbca90e9f4f446c2fd3de888b9 /addons/payment_adyen
parentf76c78d598307e337db19cc89688c57b84480cda (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.py20
-rw-r--r--addons/payment_adyen/views/adyen.xml26
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">