diff --git a/erpnext/selling/report/sales_analytics/sales_analytics.js b/erpnext/selling/report/sales_analytics/sales_analytics.js index 7c89be801db..cb2cd34aaa5 100644 --- a/erpnext/selling/report/sales_analytics/sales_analytics.js +++ b/erpnext/selling/report/sales_analytics/sales_analytics.js @@ -90,12 +90,19 @@ frappe.query_reports["Sales Analytics"] = { label: __("Curves"), fieldtype: "Select", options: [ +<<<<<<< HEAD { value: "select", label: __("Select") }, +======= +>>>>>>> c2995f6800 (fix(sales analytics): add curve filter) { value: "all", label: __("All") }, { value: "non-zeros", label: __("Non-Zeros") }, { value: "total", label: __("Total Only") }, ], +<<<<<<< HEAD default: "select", +======= + default: "all", +>>>>>>> c2995f6800 (fix(sales analytics): add curve filter) reqd: 1, }, { diff --git a/erpnext/selling/report/sales_analytics/sales_analytics.py b/erpnext/selling/report/sales_analytics/sales_analytics.py index f20f78d741d..c42abf271fd 100644 --- a/erpnext/selling/report/sales_analytics/sales_analytics.py +++ b/erpnext/selling/report/sales_analytics/sales_analytics.py @@ -529,6 +529,7 @@ class Analytics: labels = [d.get("label") for d in self.columns[1 : length - 1]] datasets = [] +<<<<<<< HEAD if self.filters.curves != "select": for curve in self.data: data = { @@ -552,6 +553,29 @@ class Analytics: datasets[0]["name"] = _("Total") else: datasets.append(data) +======= + for curve in self.data: + data = { + "name": curve.get("entity_name", curve["entity"]), + "values": [curve.get(scrub(label), 0) for label in labels], + } + if self.filters.curves == "non-zeros" and not sum(data["values"]): + continue + elif self.filters.curves == "total" and "indent" in curve: + if curve["indent"] == 0: + datasets.append(data) + elif self.filters.curves == "total": + if datasets: + a = [ + data["values"][idx] + datasets[0]["values"][idx] for idx in range(len(data["values"])) + ] + datasets[0]["values"] = a + else: + datasets.append(data) + datasets[0]["name"] = _("Total") + else: + datasets.append(data) +>>>>>>> c2995f6800 (fix(sales analytics): add curve filter) self.chart = {"data": {"labels": labels, "datasets": datasets}, "type": "line"}