From 2ffd6cc179f31f835ee1aac2020ffdc0dbda9164 Mon Sep 17 00:00:00 2001 From: braisab Date: Fri, 5 Nov 2021 13:34:16 +0100 Subject: [PATCH] [IMP] added render_folio_button method and folio_ids in payment_transaction view --- pms/__manifest__.py | 1 + pms/controllers/pms_portal.py | 3 +-- pms/models/payment_transaction.py | 22 +++++++++++++++++++++- pms/views/payment_transaction_views.xml | 12 ++++++++++++ 4 files changed, 35 insertions(+), 3 deletions(-) create mode 100644 pms/views/payment_transaction_views.xml diff --git a/pms/__manifest__.py b/pms/__manifest__.py index da4658326..2ef1baed6 100644 --- a/pms/__manifest__.py +++ b/pms/__manifest__.py @@ -88,6 +88,7 @@ "views/precheckin_portal_templates.xml", "wizards/wizard_massive_changes.xml", "wizards/wizard_advanced_filters.xml", + "views/payment_transaction_views.xml", ], "demo": [ "demo/pms_master_data.xml", diff --git a/pms/controllers/pms_portal.py b/pms/controllers/pms_portal.py index 34cc95b0a..72d0c590d 100644 --- a/pms/controllers/pms_portal.py +++ b/pms/controllers/pms_portal.py @@ -89,8 +89,7 @@ class PortalFolio(CustomerPortal): transaction.ids ) request.session["__payment_tx_ids__"] = list(tx_ids_list) - - return transaction.render_invoice_button( + return transaction.render_folio_button( folio_sudo, submit_txt=_("Pay & Confirm"), render_values={ diff --git a/pms/models/payment_transaction.py b/pms/models/payment_transaction.py index d19136de8..c51a5cc21 100644 --- a/pms/models/payment_transaction.py +++ b/pms/models/payment_transaction.py @@ -1,4 +1,4 @@ -from odoo import fields, models +from odoo import _, fields, models class PaymentTransaction(models.Model): @@ -20,3 +20,23 @@ class PaymentTransaction(models.Model): if self.folio_ids: add_payment_vals["folio_ids"] = [(6, 0, self.folio_ids.ids)] return super(PaymentTransaction, self)._create_payment(add_payment_vals) + + def render_folio_button(self, folio, submit_txt=None, render_values=None): + values = { + "partner_id": folio.partner_id.id, + "type": self.type, + } + if render_values: + values.update(render_values) + return ( + self.acquirer_id.with_context( + submit_class="btn btn-primary", submit_txt=submit_txt or _("Pay Now") + ) + .sudo() + .render( + self.reference, + folio.pending_amount, + folio.currency_id.id, + values=values, + ) + ) diff --git a/pms/views/payment_transaction_views.xml b/pms/views/payment_transaction_views.xml new file mode 100644 index 000000000..a8dc582fc --- /dev/null +++ b/pms/views/payment_transaction_views.xml @@ -0,0 +1,12 @@ + + + + payment.transaction + + + + + + + +