From 0dbb66c318277449eacc2aa852318c275f29dfdb Mon Sep 17 00:00:00 2001 From: Charles-Henri Decultot Date: Mon, 3 Feb 2025 16:44:38 +0100 Subject: [PATCH 1/2] fix: Always set status in PR --- .../payment_request/payment_request.py | 21 +++++++++++-------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/erpnext/accounts/doctype/payment_request/payment_request.py b/erpnext/accounts/doctype/payment_request/payment_request.py index 32020b88772..9e1de6ac273 100644 --- a/erpnext/accounts/doctype/payment_request/payment_request.py +++ b/erpnext/accounts/doctype/payment_request/payment_request.py @@ -331,22 +331,26 @@ class PaymentRequest(Document): @frappe.whitelist() def set_as_paid(self, reference_no=None): + payment_entry = None if reference_no and ( existing_pe := frappe.db.get_value( "Payment Entry", filters={"docstatus": 1, "reference_no": reference_no} ) ): - return frappe.get_doc("Payment Entry", existing_pe) + payment_entry = frappe.get_doc("Payment Entry", existing_pe) - frappe.flags.mute_messages = True - if reference_no: - self.register_customer(reference_no) + if not payment_entry: + frappe.flags.mute_messages = True + if reference_no: + self.register_customer(reference_no) - payment_entry = self.create_payment_entry(reference_no=reference_no) - self.make_invoice() - frappe.flags.mute_messages = False + payment_entry = self.create_payment_entry(reference_no=reference_no) + if self.make_sales_invoice: + self.make_invoice() + frappe.flags.mute_messages = False - self.db_set("status", "Paid", commit=True) + if self.status != "Paid": + self.db_set("status", "Paid", commit=True) return payment_entry @@ -578,7 +582,6 @@ class PaymentRequest(Document): PAID_STATUSES = ("Authorized", "Completed", "Paid") curr_status, next_status = self.status, status is_not_draft = not self.docstatus.is_draft() - if next_status in PAID_STATUSES: self.run_method("set_as_paid", reference_no) elif (curr_status == "Requested") and (next_status == "Pending") and is_not_draft: -- GitLab From c840c3fc6e93e83be307a07a5a81d9209ff7ae20 Mon Sep 17 00:00:00 2001 From: Charles-Henri Decultot Date: Tue, 4 Feb 2025 16:16:24 +0000 Subject: [PATCH 2/2] fix: merge conflict --- erpnext/accounts/doctype/payment_request/payment_request.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/erpnext/accounts/doctype/payment_request/payment_request.py b/erpnext/accounts/doctype/payment_request/payment_request.py index 9e1de6ac273..91e6ba3571a 100644 --- a/erpnext/accounts/doctype/payment_request/payment_request.py +++ b/erpnext/accounts/doctype/payment_request/payment_request.py @@ -345,8 +345,7 @@ class PaymentRequest(Document): self.register_customer(reference_no) payment_entry = self.create_payment_entry(reference_no=reference_no) - if self.make_sales_invoice: - self.make_invoice() + self.make_invoice() frappe.flags.mute_messages = False if self.status != "Paid": -- GitLab