mirror of
https://github.com/frappe/erpnext.git
synced 2026-08-29 22:58:25 +00:00
perf: batch status check for on-hold/closed documents, remove N+1 queries (backport #54798) (#55573)
* perf: batch status check for on-hold/closed documents, remove N+1 queries (#54798)
(cherry picked from commit 5074597d00)
# Conflicts:
# erpnext/buying/doctype/purchase_order/purchase_order.py
* chore: resolve conflicts
---------
Co-authored-by: Shubh Doshi <124681920+shubhdoshi21@users.noreply.github.com>
Co-authored-by: Mihir Kandoi <kandoimihir@gmail.com>
This commit is contained in:
@@ -469,11 +469,9 @@ class SellingController(StockController):
|
||||
return so_qty, so_warehouse
|
||||
|
||||
def check_sales_order_on_hold_or_close(self, ref_fieldname):
|
||||
for d in self.get("items"):
|
||||
if d.get(ref_fieldname):
|
||||
status = frappe.db.get_value("Sales Order", d.get(ref_fieldname), "status")
|
||||
if status in ("Closed", "On Hold") and not self.is_return:
|
||||
frappe.throw(_("Sales Order {0} is {1}").format(d.get(ref_fieldname), status))
|
||||
if self.is_return:
|
||||
return
|
||||
self.check_for_on_hold_or_closed_status("Sales Order", ref_fieldname)
|
||||
|
||||
def update_reserved_qty(self):
|
||||
so_map = {}
|
||||
|
||||
Reference in New Issue
Block a user