From cf6c13ecae1fefefa2b3ccaca57900386b4d38af Mon Sep 17 00:00:00 2001 From: David Date: Tue, 2 Apr 2024 21:59:08 +0200 Subject: [PATCH] perf: flush db at once --- .../doctype/payment_request/payment_request.py | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/erpnext/accounts/doctype/payment_request/payment_request.py b/erpnext/accounts/doctype/payment_request/payment_request.py index 18c50728a74..8c4114b4409 100644 --- a/erpnext/accounts/doctype/payment_request/payment_request.py +++ b/erpnext/accounts/doctype/payment_request/payment_request.py @@ -158,11 +158,11 @@ class PaymentRequest(Document): # set advance payment status ref_doc.set_advance_payment_status() - def on_submit(self): + def before_submit(self): if self.payment_request_type == "Outward": - self.db_set("status", "Initiated") + self.status = "Initiated" elif self.payment_request_type == "Inward": - self.db_set("status", "Requested") + self.status = "Requested" if self.payment_request_type == "Inward": send_mail = self.payment_gateway_validation() if self.payment_gateway else None @@ -234,9 +234,6 @@ class PaymentRequest(Document): if self.payment_account and self.payment_channel != "Phone": self.payment_url = self.get_payment_url() - if self.payment_url: - self.db_set("payment_url", self.payment_url) - def get_payment_url(self): if self.reference_doctype != "Fees": data = frappe.db.get_value( @@ -361,7 +358,14 @@ class PaymentRequest(Document): ) ], } - enqueue(method=frappe.sendmail, queue="short", timeout=300, is_async=True, **email_args) + enqueue( + method=frappe.sendmail, + queue="short", + timeout=300, + is_async=True, + enqueue_after_commit=True, + **email_args, + ) def get_message(self): """return message with payment gateway link"""