refactor: project summary report (#21943)

* feat: added more filters

* feat: show only first 30 projects in chart

* Update erpnext/projects/report/project_summary/project_summary.js

Co-authored-by: Marica <maricadsouza221197@gmail.com>

Co-authored-by: Marica <maricadsouza221197@gmail.com>
This commit is contained in:
Shivam Mishra 2020-05-27 06:23:48 +00:00 committed by GitHub
parent e4bbdbbfe1
commit 2a81058f90
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 32 additions and 6 deletions

View File

@ -12,12 +12,31 @@ frappe.query_reports["Project Summary"] = {
"default": frappe.defaults.get_user_default("Company"), "default": frappe.defaults.get_user_default("Company"),
"reqd": 1 "reqd": 1
}, },
{
"fieldname": "is_active",
"label": __("Is Active"),
"fieldtype": "Select",
"options": "\nYes\nNo",
"default": "Yes",
},
{ {
"fieldname": "status", "fieldname": "status",
"label": __("Status"), "label": __("Status"),
"fieldtype": "Select", "fieldtype": "Select",
"options": "Open\nComplete\nCancelled", "options": "\nOpen\nCompleted\nCancelled",
"default": "Open" "default": "Open"
},
{
"fieldname": "project_type",
"label": __("Project Type"),
"fieldtype": "Link",
"options": "Project Type"
},
{
"fieldname": "priority",
"label": __("Priority"),
"fieldtype": "Select",
"options": "\nLow\nMedium\nHigh"
} }
] ]
}; };

View File

@ -9,7 +9,7 @@ def execute(filters=None):
columns = get_columns() columns = get_columns()
data = [] 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: for project in data:
project["total_tasks"] = frappe.db.count("Task", filters={"project": project.name}) project["total_tasks"] = frappe.db.count("Task", filters={"project": project.name})
@ -30,6 +30,13 @@ def get_columns():
"options": "Project", "options": "Project",
"width": 200 "width": 200
}, },
{
"fieldname": "project_type",
"label": _("Type"),
"fieldtype": "Link",
"options": "Project Type",
"width": 120
},
{ {
"fieldname": "status", "fieldname": "status",
"label": _("Status"), "label": _("Status"),
@ -88,19 +95,19 @@ def get_chart_data(data):
return { return {
"data": { "data": {
'labels': labels, 'labels': labels[:30],
'datasets': [ 'datasets': [
{ {
"name": "Overdue", "name": "Overdue",
"values": overdue "values": overdue[:30]
}, },
{ {
"name": "Completed", "name": "Completed",
"values": completed "values": completed[:30]
}, },
{ {
"name": "Total Tasks", "name": "Total Tasks",
"values": total "values": total[:30]
}, },
] ]
}, },