From ddaf75a60d7c60da261a533914e22a16e3e40621 Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Thu, 4 Jun 2026 14:26:49 +0000 Subject: [PATCH] refactor: convert rfq_transaction_list to query builder (backport #55497) (#55629) * refactor: convert rfq_transaction_list to query builder (#55497) (cherry picked from commit 9cecf2e6f9a36638caa4c914d56249328e039242) # Conflicts: # erpnext/controllers/website_list_for_contact.py * chore: resolve conflicts --------- Co-authored-by: Shllokkk <140623894+Shllokkk@users.noreply.github.com> Co-authored-by: Mihir Kandoi --- erpnext/controllers/website_list_for_contact.py | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/erpnext/controllers/website_list_for_contact.py b/erpnext/controllers/website_list_for_contact.py index 4d141d346eb..f3f1f1b0651 100644 --- a/erpnext/controllers/website_list_for_contact.py +++ b/erpnext/controllers/website_list_for_contact.py @@ -178,13 +178,16 @@ def get_list_for_transactions( def rfq_transaction_list(parties_doctype, doctype, parties, limit_start, limit_page_length): - data = frappe.db.sql( - """select distinct parent as name, supplier from `tab{doctype}` - where supplier = '{supplier}' and docstatus=1 order by modified desc limit {start}, {len}""".format( - doctype=parties_doctype, supplier=parties[0], start=limit_start, len=limit_page_length - ), - as_dict=1, - ) + party = frappe.qb.DocType(parties_doctype) + data = ( + frappe.qb.from_(party) + .select(party.parent.as_("name"), party.supplier) + .distinct() + .where((party.supplier == party[0]) & (party.docstatus == 1)) + .orderby(party.creation, order=frappe.qb.desc) + .limit(limit_page_length) + .offset(limit_start) + ).run(as_dict=True) return post_process(doctype, data)