diff --git a/erpnext/accounts/doctype/payment_request/payment_request.py b/erpnext/accounts/doctype/payment_request/payment_request.py index 91f4a451abcd3e93a3a9e4349a699e13558ee55b..15208cc10e8dae9664e1017025a7131ea1e8e79c 100644 --- a/erpnext/accounts/doctype/payment_request/payment_request.py +++ b/erpnext/accounts/doctype/payment_request/payment_request.py @@ -1,7 +1,6 @@ # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and contributors # For license information, please see license.txt - import json import warnings @@ -277,7 +276,7 @@ class PaymentRequest(Document): frappe.throw(_("Payment cannot be processed immediately for this payment request.")) def generate_payment_key(self): - self.payment_key = frappe.generate_hash(self.as_json()) + self.payment_key = frappe.generate_hash(length=70) def set_payment_url(self): self.payment_url = get_url("/payments?link={0}".format(self.payment_key)) @@ -892,6 +891,27 @@ def make_payment_entry(docname): def make_status_as_paid(doc, method): warnings.warn("make_status_as_paid will be deprecated since it is error prone.", FutureWarning) + for ref in doc.references: + payment_request_name = frappe.db.get_value( + "Payment Request", + { + "reference_doctype": ref.reference_doctype, + "reference_name": ref.reference_name, + "docstatus": 1, + }, + ) + + if payment_request_name: + doc = frappe.get_doc("Payment Request", payment_request_name) + if doc.status != "Paid": + doc.db_set("status", "Paid") + frappe.db.commit() + + +def update_payment_req_status(doc, method): + # TODO: Link with payment entry + from erpnext.accounts.doctype.payment_entry.payment_entry import get_reference_details + for ref in doc.references: payment_request_name = frappe.db.get_value( "Payment Request", diff --git a/erpnext/accounts/doctype/subscription/subscription_transaction.py b/erpnext/accounts/doctype/subscription/subscription_transaction.py index daa57a41cc69640c1a7d11ea1635abc09a8f6173..e8d6dc132dc6e8b2c27dddf1203936ae772002fd 100644 --- a/erpnext/accounts/doctype/subscription/subscription_transaction.py +++ b/erpnext/accounts/doctype/subscription/subscription_transaction.py @@ -353,7 +353,7 @@ class SubscriptionPaymentRequestGenerator: "party_type": "Customer", "party": self.subscription.customer, "submit_doc": False, - "mute_email": self.subscription.flags.mute_emails or self.subscription.email_template, + "mute_email": self.subscription.flags.mute_emails or not self.subscription.email_template, "currency": self.subscription.currency, "email_template": self.subscription.email_template, "print_format": self.subscription.print_format,