diff --git a/erpnext/accounts/doctype/payment_request/payment_request.py b/erpnext/accounts/doctype/payment_request/payment_request.py index c7c9ff536d7..52df4ed4b29 100644 --- a/erpnext/accounts/doctype/payment_request/payment_request.py +++ b/erpnext/accounts/doctype/payment_request/payment_request.py @@ -28,6 +28,16 @@ def _get_payment_gateway_controller(*args, **kwargs): return get_payment_gateway_controller(*args, **kwargs) +ALLOWED_DOCTYPES_FOR_PAYMENT_REQUEST = [ + "Sales Order", + "Purchase Order", + "Sales Invoice", + "Purchase Invoice", + "POS Invoice", + "Fees", +] + + class PaymentRequest(Document): # begin: auto-generated types # This code is auto-generated. Do not modify anything in this block. @@ -525,14 +535,7 @@ def make_payment_request(**args): args = frappe._dict(args) ref_doc = args.ref_doc or frappe.get_doc(args.dt, args.dn) - if ref_doc.doctype not in [ - "Sales Order", - "Purchase Order", - "Sales Invoice", - "Purchase Invoice", - "POS Invoice", - "Fees", - ]: + if ref_doc.doctype not in ALLOWED_DOCTYPES_FOR_PAYMENT_REQUEST: frappe.throw( _("Payment Requests cannot be created against: {0}").format(frappe.bold(ref_doc.doctype)) ) diff --git a/erpnext/templates/pages/order.py b/erpnext/templates/pages/order.py index d8e6334a881..dcf3b046722 100644 --- a/erpnext/templates/pages/order.py +++ b/erpnext/templates/pages/order.py @@ -4,7 +4,10 @@ import frappe from frappe import _ -from erpnext.accounts.doctype.payment_request.payment_request import get_amount +from erpnext.accounts.doctype.payment_request.payment_request import ( + ALLOWED_DOCTYPES_FOR_PAYMENT_REQUEST, + get_amount, +) def get_context(context): @@ -68,10 +71,12 @@ def get_payment_details(doc): ( "payments" in frappe.get_installed_apps() and frappe.db.get_single_value("Buying Settings", "show_pay_button") + and doc.doctype in ALLOWED_DOCTYPES_FOR_PAYMENT_REQUEST ), 0, ) if not show_pay_button: return show_pay_button, amount + amount = get_amount(doc) return bool(amount), amount