[fix] Sales Order indicators for Maintenance
diff --git a/erpnext/selling/doctype/sales_order/sales_order_list.js b/erpnext/selling/doctype/sales_order/sales_order_list.js
index f51b7dc..aab168e 100644
--- a/erpnext/selling/doctype/sales_order/sales_order_list.js
+++ b/erpnext/selling/doctype/sales_order/sales_order_list.js
@@ -1,14 +1,17 @@
frappe.listview_settings['Sales Order'] = {
add_fields: ["base_grand_total", "customer_name", "currency", "delivery_date", "per_delivered", "per_billed",
- "status"],
+ "status", "order_type"],
get_indicator: function(doc) {
if(doc.status==="Stopped") {
return [__("Stopped"), "darkgrey", "status,=,Stopped"];
- } else if(flt(doc.per_delivered, 2) < 100 && frappe.datetime.get_diff(doc.delivery_date) < 0) {
+
+ } else if (doc.order_type !== "Maintenance"
+ && flt(doc.per_delivered, 2) < 100 && frappe.datetime.get_diff(doc.delivery_date) < 0) {
// to bill & overdue
return [__("Overdue"), "red", "per_delivered,<,100|delivery_date,<,Today|status,!=,Stopped"];
- } else if(flt(doc.per_delivered, 2) < 100 && doc.status!=="Stopped") {
+ } else if (doc.order_type !== "Maintenance"
+ && flt(doc.per_delivered, 2) < 100 && doc.status!=="Stopped") {
// not delivered
if(flt(doc.per_billed, 2) < 100) {
@@ -23,11 +26,14 @@
"per_delivered,<,100|per_billed,=,100|status,!=,Stopped"];
}
- } else if(flt(doc.per_delivered, 2) == 100 && flt(doc.per_billed, 2) < 100 && doc.status!=="Stopped") {
+ } else if ((doc.order_type === "Maintenance" || flt(doc.per_delivered, 2) == 100)
+ && flt(doc.per_billed, 2) < 100 && doc.status!=="Stopped") {
+
// to bill
return [__("To Bill"), "orange", "per_delivered,=,100|per_billed,<,100|status,!=,Stopped"];
- } else if(flt(doc.per_delivered, 2) == 100 && flt(doc.per_billed, 2) == 100 && doc.status!=="Stopped") {
+ } else if((doc.order_type === "Maintenance" || flt(doc.per_delivered, 2) == 100)
+ && flt(doc.per_billed, 2) == 100 && doc.status!=="Stopped") {
return [__("Completed"), "green", "per_delivered,=,100|per_billed,=,100|status,!=,Stopped"];
}