From 143973166fb9fa1f2a74f6755ba8081e5cbf196a Mon Sep 17 00:00:00 2001 From: Rohan Bansal Date: Thu, 21 Feb 2019 15:32:52 +0530 Subject: [PATCH 1/2] fix(payments): Only check for Draft or Submitted paymentswhile cancelling payment requests --- .../accounts/doctype/payment_request/payment_request.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/erpnext/accounts/doctype/payment_request/payment_request.py b/erpnext/accounts/doctype/payment_request/payment_request.py index 014efd948c4..1fbde753d41 100644 --- a/erpnext/accounts/doctype/payment_request/payment_request.py +++ b/erpnext/accounts/doctype/payment_request/payment_request.py @@ -214,9 +214,11 @@ class PaymentRequest(Document): def check_if_payment_entry_exists(self): if self.status == "Paid": - payment_entry = frappe.db.sql_list("""select parent from `tabPayment Entry Reference` - where reference_name=%s""", self.reference_name) - if payment_entry: + payment_entry = frappe.get_all("Payment Entry Reference", + filters={"reference_name": self.reference_name, "docstatus": ["<", 2]}, + fields=["distinct(parent)"]) + + if any(payment_entry): frappe.throw(_("Payment Entry already exists"), title=_('Error')) def make_communication_entry(self): From 59a3012a5ce3b9e0229ed54d64f421da9cf60df7 Mon Sep 17 00:00:00 2001 From: Rushabh Mehta Date: Fri, 15 Mar 2019 08:57:49 +0530 Subject: [PATCH 2/2] Update payment_request.py --- .../accounts/doctype/payment_request/payment_request.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/erpnext/accounts/doctype/payment_request/payment_request.py b/erpnext/accounts/doctype/payment_request/payment_request.py index 1fbde753d41..64c4124da66 100644 --- a/erpnext/accounts/doctype/payment_request/payment_request.py +++ b/erpnext/accounts/doctype/payment_request/payment_request.py @@ -214,11 +214,10 @@ class PaymentRequest(Document): def check_if_payment_entry_exists(self): if self.status == "Paid": - payment_entry = frappe.get_all("Payment Entry Reference", + if frappe.get_all("Payment Entry Reference", filters={"reference_name": self.reference_name, "docstatus": ["<", 2]}, - fields=["distinct(parent)"]) - - if any(payment_entry): + fields=["parent"], + limit=1): frappe.throw(_("Payment Entry already exists"), title=_('Error')) def make_communication_entry(self):