refactor(sales_invoice): replace sql with qb in validate_proj_cust (#55382)

This commit is contained in:
Loic Oberle
2026-05-29 10:00:45 +02:00
committed by GitHub
parent f846c55c01
commit 3e9c4aefaf

View File

@@ -1134,12 +1134,20 @@ class SalesInvoice(SellingController):
def validate_proj_cust(self): def validate_proj_cust(self):
"""check for does customer belong to same project as entered..""" """check for does customer belong to same project as entered.."""
if self.project and self.customer: if self.project and self.customer:
res = frappe.db.sql( Project = frappe.qb.DocType("Project")
"""select name from `tabProject`
where name = %s and (customer = %s or customer is null or customer = '')""", query = (
(self.project, self.customer), frappe.qb.from_(Project)
.select(Project.name)
.where(Project.name == self.project)
.where(
(Project.customer == self.customer)
| (Project.customer.isnull())
| (Project.customer == "")
)
) )
if not res:
if not query.run():
throw(_("Customer {0} does not belong to project {1}").format(self.customer, self.project)) throw(_("Customer {0} does not belong to project {1}").format(self.customer, self.project))
def validate_pos(self): def validate_pos(self):