refactor: project summary report (#21953)
* feat: added more filters
* feat: show only first 30 projects in chart
* fix: status completed
* refactor: allow empty option in status filter
diff --git a/erpnext/projects/report/project_summary/project_summary.js b/erpnext/projects/report/project_summary/project_summary.js
index c12a83e..414b7b2 100644
--- a/erpnext/projects/report/project_summary/project_summary.js
+++ b/erpnext/projects/report/project_summary/project_summary.js
@@ -13,11 +13,30 @@
"reqd": 1
},
{
+ "fieldname": "is_active",
+ "label": __("Is Active"),
+ "fieldtype": "Select",
+ "options": "\nYes\nNo",
+ "default": "Yes",
+ },
+ {
"fieldname": "status",
"label": __("Status"),
"fieldtype": "Select",
- "options": "Open\nCompleted\nCancelled",
+ "options": "\nOpen\nCompleted\nCancelled",
"default": "Open"
+ },
+ {
+ "fieldname": "project_type",
+ "label": __("Project Type"),
+ "fieldtype": "Link",
+ "options": "Project Type"
+ },
+ {
+ "fieldname": "priority",
+ "label": __("Priority"),
+ "fieldtype": "Select",
+ "options": "\nLow\nMedium\nHigh"
}
]
};
diff --git a/erpnext/projects/report/project_summary/project_summary.py b/erpnext/projects/report/project_summary/project_summary.py
index a20d7f2..ea7f1ab 100644
--- a/erpnext/projects/report/project_summary/project_summary.py
+++ b/erpnext/projects/report/project_summary/project_summary.py
@@ -9,7 +9,7 @@
columns = get_columns()
data = []
- data = frappe.db.get_all("Project", filters=filters, fields=["name", 'status', "percent_complete", "expected_start_date", "expected_end_date"], order_by="expected_end_date")
+ data = frappe.db.get_all("Project", filters=filters, fields=["name", 'status', "percent_complete", "expected_start_date", "expected_end_date", "project_type"], order_by="expected_end_date")
for project in data:
project["total_tasks"] = frappe.db.count("Task", filters={"project": project.name})
@@ -31,6 +31,13 @@
"width": 200
},
{
+ "fieldname": "project_type",
+ "label": _("Type"),
+ "fieldtype": "Link",
+ "options": "Project Type",
+ "width": 120
+ },
+ {
"fieldname": "status",
"label": _("Status"),
"fieldtype": "Data",
@@ -88,19 +95,19 @@
return {
"data": {
- 'labels': labels,
+ 'labels': labels[:30],
'datasets': [
{
"name": "Overdue",
- "values": overdue
+ "values": overdue[:30]
},
{
"name": "Completed",
- "values": completed
+ "values": completed[:30]
},
{
"name": "Total Tasks",
- "values": total
+ "values": total[:30]
},
]
},