summaryrefslogtreecommitdiff
path: root/addons/payment
diff options
context:
space:
mode:
authortbe-odoo <tbe@odoo.com>2017-08-23 16:29:26 +0200
committertbe-odoo <tbe@odoo.com>2017-08-29 17:11:23 +0200
commit11bc680ae9d864d5e0e28ff85bad96a2c4cdc326 (patch)
treec331897dc5506d75ea9d41b89e112b1d2c75f909 /addons/payment
parent194d52e8fda35f7a6fd9a9e5c2e1af265e25ce4b (diff)
[IMP] payment: Remove ugly render() hack
- Removed an ugly hack that renders s2s forms then display them using t-raw, we're now providing the xml_id of the s2s forms and uses t-call instead.
Diffstat (limited to 'addons/payment')
-rw-r--r--addons/payment/controllers/portal.py8
-rw-r--r--addons/payment/models/payment_acquirer.py15
-rw-r--r--addons/payment/views/payment_templates.xml2
3 files changed, 10 insertions, 15 deletions
diff --git a/addons/payment/controllers/portal.py b/addons/payment/controllers/portal.py
index 9d06665d021..640179f71c3 100644
--- a/addons/payment/controllers/portal.py
+++ b/addons/payment/controllers/portal.py
@@ -12,13 +12,13 @@ class WebsitePayment(http.Controller):
partner = request.env.user.partner_id
payment_tokens = partner.payment_token_ids
payment_tokens |= partner.commercial_partner_id.sudo().payment_token_ids
+ return_url = request.params.get('redirect', '/my/payment_method')
values = {
'pms': payment_tokens,
- 'acquirers': acquirers
+ 'acquirers': acquirers,
+ 'return_url': return_url,
+ 'bootstrap_formatting': True
}
- return_url = request.params.get('redirect', '/my/payment_method')
- for acquirer in acquirers:
- acquirer.form = acquirer.sudo()._registration_render(request.env.user.partner_id.id, {'error': {}, 'error_message': [], 'return_url': return_url, 'json': False, 'bootstrap_formatting': True})
return request.render("payment.pay_methods", values)
@http.route(['/website_payment/pay'], type='http', auth='public', website=True)
diff --git a/addons/payment/models/payment_acquirer.py b/addons/payment/models/payment_acquirer.py
index 365e8d14b37..c36c55ffbac 100644
--- a/addons/payment/models/payment_acquirer.py
+++ b/addons/payment/models/payment_acquirer.py
@@ -355,16 +355,11 @@ class PaymentAcquirer(models.Model):
return self.view_template_id.render(values, engine='ir.qweb')
- @api.multi
- def _registration_render(self, partner_id, qweb_context=None):
- if qweb_context is None:
- qweb_context = {}
- qweb_context.update(id=self.ids[0], partner_id=partner_id)
- method_name = '_%s_registration_form_generate_values' % (self.provider,)
- if hasattr(self, method_name):
- method = getattr(self, method_name)
- qweb_context.update(method(qweb_context))
- return self.registration_view_template_id.render(qweb_context, engine='ir.qweb')
+ def get_s2s_form_name(self):
+ if self.registration_view_template_id:
+ model_data = self.env['ir.model.data'].search([('model', '=', 'ir.ui.view'), ('res_id', '=', self.registration_view_template_id.id)])
+ return ('%s.%s') % (model_data.module, model_data.name)
+ return False
@api.multi
def s2s_process(self, data):
diff --git a/addons/payment/views/payment_templates.xml b/addons/payment/views/payment_templates.xml
index fd693681ae0..e8360962043 100644
--- a/addons/payment/views/payment_templates.xml
+++ b/addons/payment/views/payment_templates.xml
@@ -61,7 +61,7 @@
</div>
<div t-attf-id="o_payment_add_token_acq_{{acq.id}}" t-attf-class="panel-footer {{'hidden' if (len(s2s_acquirers)&gt;1 and len(pms)==0 and s2s_acquirers[0]!=acq) else 'hidden' if len(pms)&gt;0 else ''}}">
<div class="clearfix">
- <t t-raw="acq.form" t-att-data-acquirer-id="acquirer.id"/>
+ <t t-call="{{acq.sudo().get_s2s_form_name()}}"/>
</div>
</div>
</t>