summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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
-rw-r--r--addons/website_quote/controllers/main.py8
-rw-r--r--addons/website_sale/controllers/main.py8
5 files changed, 14 insertions, 27 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>
diff --git a/addons/website_quote/controllers/main.py b/addons/website_quote/controllers/main.py
index 8098964c71e..8bbfca7fd08 100644
--- a/addons/website_quote/controllers/main.py
+++ b/addons/website_quote/controllers/main.py
@@ -61,6 +61,8 @@ class sale_quote(http.Controller):
'tx_post_msg': Transaction.acquirer_id.post_msg if Transaction else False,
'need_payment': order_sudo.invoice_status == 'to invoice' and Transaction.state in ['draft', 'cancel', 'error'],
'token': token,
+ 'return_url': '/shop/payment/validate',
+ 'bootstrap_formatting': True
}
if order_sudo.require_payment or values['need_payment']:
@@ -81,12 +83,6 @@ class sale_quote(http.Controller):
'partner_id': order_sudo.partner_id.id,
})
- for acq in values['s2s_acquirers']:
- acq.form = acq._registration_render(order_sudo.partner_id.id, {
- 'return_url': '/shop/payment/validate',
- 'bootstrap_formatting': True
- })
-
history = request.session.get('my_quotes_history', [])
values.update(get_records_pager(history, order_sudo))
return request.render('website_quote.so_quotation', values)
diff --git a/addons/website_sale/controllers/main.py b/addons/website_sale/controllers/main.py
index 9bd4ce76b1d..67ff0e2a45a 100644
--- a/addons/website_sale/controllers/main.py
+++ b/addons/website_sale/controllers/main.py
@@ -708,6 +708,8 @@ class WebsiteSale(http.Controller):
partner=order.partner_id.id,
order=order,
payment_action_id=request.env.ref('payment.action_payment_acquirer').id,
+ return_url= '/shop/payment/validate',
+ bootstrap_formatting= True
)
acquirers = request.env['payment.acquirer'].search(
@@ -732,12 +734,6 @@ class WebsiteSale(http.Controller):
}
)
- for acq in values['s2s_acquirers']:
- acq.form = acq._registration_render(order.partner_id.id, {
- 'return_url': '/shop/payment/validate',
- 'bootstrap_formatting': True
- })
-
return values
@http.route(['/shop/payment'], type='http', auth="public", website=True)