fix: Closed status error in Work Order Summary (#28460)
* fix: Closed status error in Work Order Summary
* chore: use get_meta to get status options
* refactor: simplify code
Co-authored-by: Ankush Menat <ankush@frappe.io>
diff --git a/erpnext/manufacturing/report/work_order_summary/work_order_summary.js b/erpnext/manufacturing/report/work_order_summary/work_order_summary.js
index eb23f17..832be23 100644
--- a/erpnext/manufacturing/report/work_order_summary/work_order_summary.js
+++ b/erpnext/manufacturing/report/work_order_summary/work_order_summary.js
@@ -51,7 +51,7 @@
label: __("Status"),
fieldname: "status",
fieldtype: "Select",
- options: ["", "Not Started", "In Process", "Completed", "Stopped"]
+ options: ["", "Not Started", "In Process", "Completed", "Stopped", "Closed"]
},
{
label: __("Sales Orders"),
diff --git a/erpnext/manufacturing/report/work_order_summary/work_order_summary.py b/erpnext/manufacturing/report/work_order_summary/work_order_summary.py
index 6207904..d7469dd 100644
--- a/erpnext/manufacturing/report/work_order_summary/work_order_summary.py
+++ b/erpnext/manufacturing/report/work_order_summary/work_order_summary.py
@@ -1,6 +1,7 @@
# Copyright (c) 2013, Frappe Technologies Pvt. Ltd. and contributors
# For license information, please see license.txt
+from collections import defaultdict
import frappe
from frappe import _
@@ -58,21 +59,16 @@
return get_chart_based_on_qty(data, filters)
def get_chart_based_on_status(data):
- labels = ["Completed", "In Process", "Stopped", "Not Started"]
+ labels = frappe.get_meta("Work Order").get_options("status").split("\n")
+ if "" in labels:
+ labels.remove("")
- status_wise_data = {
- "Not Started": 0,
- "In Process": 0,
- "Stopped": 0,
- "Completed": 0,
- "Draft": 0
- }
+ status_wise_data = defaultdict(int)
for d in data:
status_wise_data[d.status] += 1
- values = [status_wise_data["Completed"], status_wise_data["In Process"],
- status_wise_data["Stopped"], status_wise_data["Not Started"]]
+ values = [status_wise_data[label] for label in labels]
chart = {
"data": {