refactor(stock): convert packing-slip cancellation lookup to get_all

cancel_packing_slips: raw "SELECT name FROM `tabPacking Slip` WHERE
delivery_note=%s AND docstatus=1" -> frappe.get_all(pluck="name") with
pluck-aware iteration. Same result on MariaDB; valid under Postgres.

Covered by test_cancel_packing_slips_cancels_submitted_slips in
test_delivery_note.py.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Mihir Kandoi
2026-06-19 23:19:45 +05:30
parent ff4adce91b
commit 6c96606c18

View File

@@ -50,14 +50,12 @@ class PackingService:
def cancel_packing_slips(self) -> None:
"""Cancel submitted packing slips related to this delivery note"""
res = frappe.db.sql(
"""SELECT name FROM `tabPacking Slip` WHERE delivery_note = %s
AND docstatus = 1""",
self.doc.name,
res = frappe.get_all(
"Packing Slip", filters={"delivery_note": self.doc.name, "docstatus": 1}, pluck="name"
)
if res:
for r in res:
ps = frappe.get_doc("Packing Slip", r[0])
ps = frappe.get_doc("Packing Slip", r)
ps.cancel()
frappe.msgprint(_("Packing Slip(s) cancelled"))