fix: don't allow deletion of items which has work order assigned to it
diff --git a/erpnext/controllers/accounts_controller.py b/erpnext/controllers/accounts_controller.py
index 86f5d53..7faf792 100644
--- a/erpnext/controllers/accounts_controller.py
+++ b/erpnext/controllers/accounts_controller.py
@@ -1163,8 +1163,13 @@
deleted_children.append(item)
for d in deleted_children:
- if parent.doctype == "Sales Order" and flt(d.delivered_qty):
- frappe.throw(_("Row #{0}: Cannot delete item {1} which has already been delivered").format(d.idx, d.item_code))
+ if parent.doctype == "Sales Order":
+ if flt(d.delivered_qty):
+ frappe.throw(_("Row #{0}: Cannot delete item {1} which has already been delivered").format(d.idx, d.item_code))
+ if flt(d.work_order_qty):
+ frappe.throw(_("Row #{0}: Cannot delete item {1} which has work order assigned to it.").format(d.idx, d.item_code))
+ if flt(d.ordered_qty):
+ frappe.throw(_("Row #{0}: Cannot delete item {1} which is assigned to customer's purchase order.").format(d.idx, d.item_code))
if parent.doctype == "Purchase Order" and flt(d.received_qty):
frappe.throw(_("Row #{0}: Cannot delete item {1} which has already been received").format(d.idx, d.item_code))
diff --git a/erpnext/selling/doctype/sales_order/sales_order.js b/erpnext/selling/doctype/sales_order/sales_order.js
index 2dae0d8..cb016a1 100644
--- a/erpnext/selling/doctype/sales_order/sales_order.js
+++ b/erpnext/selling/doctype/sales_order/sales_order.js
@@ -12,7 +12,8 @@
'Material Request': 'Material Request',
'Purchase Order': 'Purchase Order',
'Project': 'Project',
- 'Payment Entry': "Payment"
+ 'Payment Entry': "Payment",
+ 'Work Order': "Work Order"
}
frm.add_fetch('customer', 'tax_id', 'tax_id');