feat: add new Closed and Stopped rows

(cherry picked from commit 6cc3d67835)
This commit is contained in:
Mihir Kandoi
2025-03-05 15:14:54 +05:30
committed by Mergify
parent 6f760d197d
commit 7749814571

View File

@@ -34,6 +34,8 @@ def get_periodic_data(filters, entry):
"Overdue": {}, "Overdue": {},
"Pending": {}, "Pending": {},
"Completed": {}, "Completed": {},
"Closed": {},
"Stopped": {},
} }
ranges = get_period_date_ranges(filters) ranges = get_period_date_ranges(filters)
@@ -45,15 +47,13 @@ def get_periodic_data(filters, entry):
"Draft", "Draft",
"Submitted", "Submitted",
"Completed", "Completed",
"Stopped",
"Closed",
"Cancelled", "Cancelled",
]: ]:
if d.status == "Not Started": if d.status in ["Not Started", "Closed", "Stopped"]:
periodic_data = update_periodic_data(periodic_data, "Not Started", period) periodic_data = update_periodic_data(periodic_data, d.status, period)
elif today() > getdate(d.planned_end_date): elif today() > getdate(d.planned_end_date):
periodic_data = update_periodic_data(periodic_data, "Overdue", period) periodic_data = update_periodic_data(periodic_data, "Overdue", period)
else: elif today() < getdate(d.planned_end_date):
periodic_data = update_periodic_data(periodic_data, "Pending", period) periodic_data = update_periodic_data(periodic_data, "Pending", period)
if ( if (
@@ -89,7 +89,7 @@ def get_data(filters, columns):
periodic_data = get_periodic_data(filters, entry) periodic_data = get_periodic_data(filters, entry)
labels = ["Not Started", "Overdue", "Pending", "Completed"] labels = ["Not Started", "Overdue", "Pending", "Completed", "Closed", "Stopped"]
chart_data = get_chart_data(periodic_data, columns) chart_data = get_chart_data(periodic_data, columns)
ranges = get_period_date_ranges(filters) ranges = get_period_date_ranges(filters)
@@ -110,7 +110,7 @@ def get_data(filters, columns):
def get_chart_data(periodic_data, columns): def get_chart_data(periodic_data, columns):
labels = [d.get("label") for d in columns[1:]] labels = [d.get("label") for d in columns[1:]]
not_start, overdue, pending, completed = [], [], [], [] not_start, overdue, pending, completed, closed, stopped = [], [], [], [], [], []
datasets = [] datasets = []
for d in labels: for d in labels:
@@ -118,11 +118,15 @@ def get_chart_data(periodic_data, columns):
overdue.append(periodic_data.get("Overdue").get(d)) overdue.append(periodic_data.get("Overdue").get(d))
pending.append(periodic_data.get("Pending").get(d)) pending.append(periodic_data.get("Pending").get(d))
completed.append(periodic_data.get("Completed").get(d)) completed.append(periodic_data.get("Completed").get(d))
closed.append(periodic_data.get("Closed").get(d))
stopped.append(periodic_data.get("Stopped").get(d))
datasets.append({"name": _("Not Started"), "values": not_start}) datasets.append({"name": _("Not Started"), "values": not_start})
datasets.append({"name": _("Overdue"), "values": overdue}) datasets.append({"name": _("Overdue"), "values": overdue})
datasets.append({"name": _("Pending"), "values": pending}) datasets.append({"name": _("Pending"), "values": pending})
datasets.append({"name": _("Completed"), "values": completed}) datasets.append({"name": _("Completed"), "values": completed})
datasets.append({"name": _("Closed"), "values": closed})
datasets.append({"name": _("Stopped"), "values": stopped})
chart = {"data": {"labels": labels, "datasets": datasets}} chart = {"data": {"labels": labels, "datasets": datasets}}
chart["type"] = "line" chart["type"] = "line"