refactor(sales_order): Replace SQL with ORM in validate_sales_mntc_qu… (#55201)

This commit is contained in:
Loic Oberle
2026-05-23 08:17:00 +02:00
committed by GitHub
parent 78894f7c78
commit 9546374ac3

View File

@@ -397,16 +397,20 @@ class SalesOrder(SellingController):
return frappe.db.exists("Item", {"name": ["in", bundle_items], "is_stock_item": 1}) is not None
def validate_sales_mntc_quotation(self):
quotation_names = [d.prevdoc_docname for d in self.get("items") if d.prevdoc_docname]
if not quotation_names:
return
valid_quotations = frappe.get_all(
"Quotation",
filters={"name": ["in", quotation_names], "order_type": self.order_type},
pluck="name",
)
for d in self.get("items"):
if d.prevdoc_docname:
res = frappe.db.sql(
"select name from `tabQuotation` where name=%s and order_type = %s",
(d.prevdoc_docname, self.order_type),
)
if not res:
frappe.msgprint(
_("Quotation {0} not of type {1}").format(d.prevdoc_docname, self.order_type)
)
if d.prevdoc_docname and d.prevdoc_docname not in valid_quotations:
frappe.msgprint(_("Quotation {0} not of type {1}").format(d.prevdoc_docname, self.order_type))
def validate_delivery_date(self):
if self.order_type == "Sales" and not self.skip_delivery_note: