Merge pull request #22825 from ruchamahabal/education-dashboard

feat: Education Desk, Dashboard, and Onboarding
This commit is contained in:
Marica 2020-08-06 14:30:40 +05:30 committed by GitHub
commit 67d829b5ed
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
31 changed files with 1259 additions and 1672 deletions

View File

@ -0,0 +1,31 @@
{
"based_on": "",
"chart_name": "Course wise Enrollment",
"chart_type": "Group By",
"creation": "2020-07-23 18:24:38.214220",
"docstatus": 0,
"doctype": "Dashboard Chart",
"document_type": "Course Enrollment",
"dynamic_filters_json": "[]",
"filters_json": "[[\"Course Enrollment\",\"enrollment_date\",\"Timespan\",\"this year\",false]]",
"group_by_based_on": "course",
"group_by_type": "Count",
"idx": 0,
"is_public": 1,
"is_standard": 1,
"last_synced_on": "2020-07-27 17:50:32.490587",
"modified": "2020-07-27 17:54:09.829206",
"modified_by": "Administrator",
"module": "Education",
"name": "Course wise Enrollment",
"number_of_groups": 0,
"owner": "Administrator",
"source": "",
"time_interval": "Yearly",
"timeseries": 0,
"timespan": "Last Year",
"type": "Percentage",
"use_report_chart": 0,
"value_based_on": "",
"y_axis": []
}

View File

@ -0,0 +1,31 @@
{
"based_on": "",
"chart_name": "Course wise Student Count",
"chart_type": "Group By",
"creation": "2020-07-27 17:24:39.136163",
"docstatus": 0,
"doctype": "Dashboard Chart",
"document_type": "Course Enrollment",
"dynamic_filters_json": "[]",
"filters_json": "[[\"Course Enrollment\",\"enrollment_date\",\"Timespan\",\"this year\",false]]",
"group_by_based_on": "course",
"group_by_type": "Count",
"idx": 0,
"is_public": 1,
"is_standard": 1,
"last_synced_on": "2020-07-27 17:24:56.184236",
"modified": "2020-07-27 17:25:46.232846",
"modified_by": "Administrator",
"module": "Education",
"name": "Course wise Student Count",
"number_of_groups": 0,
"owner": "Administrator",
"source": "",
"time_interval": "Yearly",
"timeseries": 0,
"timespan": "Last Year",
"type": "Donut",
"use_report_chart": 0,
"value_based_on": "",
"y_axis": []
}

View File

@ -0,0 +1,31 @@
{
"based_on": "",
"chart_name": "Instructor Gender Diversity Ratio",
"chart_type": "Group By",
"creation": "2020-07-23 18:35:02.544019",
"docstatus": 0,
"doctype": "Dashboard Chart",
"document_type": "Instructor",
"dynamic_filters_json": "[]",
"filters_json": "[[\"Instructor\",\"status\",\"=\",\"Active\",false]]",
"group_by_based_on": "gender",
"group_by_type": "Count",
"idx": 0,
"is_public": 1,
"is_standard": 1,
"last_synced_on": "2020-07-27 17:50:32.783820",
"modified": "2020-07-27 17:55:41.595260",
"modified_by": "Administrator",
"module": "Education",
"name": "Instructor Gender Diversity Ratio",
"number_of_groups": 0,
"owner": "Administrator",
"source": "",
"time_interval": "Yearly",
"timeseries": 0,
"timespan": "Last Year",
"type": "Donut",
"use_report_chart": 0,
"value_based_on": "",
"y_axis": []
}

View File

@ -0,0 +1,30 @@
{
"based_on": "enrollment_date",
"chart_name": "Program Enrollments",
"chart_type": "Count",
"creation": "2020-07-23 18:27:53.641616",
"docstatus": 0,
"doctype": "Dashboard Chart",
"document_type": "Program Enrollment",
"dynamic_filters_json": "[]",
"filters_json": "[[\"Program Enrollment\",\"docstatus\",\"=\",\"1\",false]]",
"group_by_type": "Count",
"idx": 0,
"is_public": 1,
"is_standard": 1,
"last_synced_on": "2020-07-27 17:50:32.203069",
"modified": "2020-07-27 17:51:59.022909",
"modified_by": "Administrator",
"module": "Education",
"name": "Program Enrollments",
"number_of_groups": 0,
"owner": "Administrator",
"source": "",
"time_interval": "Daily",
"timeseries": 1,
"timespan": "Last Month",
"type": "Line",
"use_report_chart": 0,
"value_based_on": "",
"y_axis": []
}

View File

@ -0,0 +1,31 @@
{
"based_on": "",
"chart_name": "Program wise Enrollment",
"chart_type": "Group By",
"creation": "2020-07-23 18:23:45.192748",
"docstatus": 0,
"doctype": "Dashboard Chart",
"document_type": "Program Enrollment",
"dynamic_filters_json": "[]",
"filters_json": "[[\"Program Enrollment\",\"docstatus\",\"=\",\"1\",false],[\"Program Enrollment\",\"enrollment_date\",\"Timespan\",\"this year\",false]]",
"group_by_based_on": "program",
"group_by_type": "Count",
"idx": 0,
"is_public": 1,
"is_standard": 1,
"last_synced_on": "2020-07-27 17:50:32.629321",
"modified": "2020-07-27 17:53:36.269098",
"modified_by": "Administrator",
"module": "Education",
"name": "Program wise Enrollment",
"number_of_groups": 0,
"owner": "Administrator",
"source": "",
"time_interval": "Yearly",
"timeseries": 0,
"timespan": "Last Year",
"type": "Percentage",
"use_report_chart": 0,
"value_based_on": "",
"y_axis": []
}

View File

@ -0,0 +1,28 @@
{
"chart_name": "Program wise Fee Collection",
"chart_type": "Report",
"creation": "2020-08-05 16:19:53.398335",
"custom_options": "",
"docstatus": 0,
"doctype": "Dashboard Chart",
"dynamic_filters_json": "{\"from_date\":\"frappe.datetime.add_months(frappe.datetime.get_today(), -1)\",\"to_date\":\"frappe.datetime.nowdate()\"}",
"filters_json": "{}",
"group_by_type": "Count",
"idx": 0,
"is_public": 1,
"is_standard": 1,
"modified": "2020-08-05 16:20:47.436847",
"modified_by": "Administrator",
"module": "Education",
"name": "Program wise Fee Collection",
"number_of_groups": 0,
"owner": "Administrator",
"report_name": "Program wise Fee Collection",
"time_interval": "Yearly",
"timeseries": 0,
"timespan": "Last Year",
"type": "Bar",
"use_report_chart": 1,
"x_field": "",
"y_axis": []
}

View File

@ -0,0 +1,31 @@
{
"based_on": "",
"chart_name": "Student Category wise Program Enrollments",
"chart_type": "Group By",
"creation": "2020-07-27 17:37:47.116446",
"docstatus": 0,
"doctype": "Dashboard Chart",
"document_type": "Program Enrollment",
"dynamic_filters_json": "[]",
"filters_json": "[[\"Program Enrollment\",\"enrollment_date\",\"Timespan\",\"this year\",false],[\"Program Enrollment\",\"docstatus\",\"=\",\"1\",false]]",
"group_by_based_on": "student_category",
"group_by_type": "Count",
"idx": 0,
"is_public": 1,
"is_standard": 1,
"last_synced_on": "2020-07-27 17:46:54.901911",
"modified": "2020-07-27 17:47:21.370866",
"modified_by": "Administrator",
"module": "Education",
"name": "Student Category wise Program Enrollments",
"number_of_groups": 0,
"owner": "Administrator",
"source": "",
"time_interval": "Yearly",
"timeseries": 0,
"timespan": "Last Year",
"type": "Donut",
"use_report_chart": 0,
"value_based_on": "",
"y_axis": []
}

View File

@ -0,0 +1,30 @@
{
"based_on": "",
"chart_name": "Student Gender Diversity Ratio",
"chart_type": "Group By",
"creation": "2020-07-23 18:12:15.972123",
"docstatus": 0,
"doctype": "Dashboard Chart",
"document_type": "Student",
"dynamic_filters_json": "[]",
"filters_json": "[[\"Student\",\"enabled\",\"=\",1,false]]",
"group_by_based_on": "gender",
"group_by_type": "Count",
"idx": 0,
"is_public": 1,
"is_standard": 1,
"modified": "2020-07-23 18:12:21.606772",
"modified_by": "Administrator",
"module": "Education",
"name": "Student Gender Diversity Ratio",
"number_of_groups": 0,
"owner": "Administrator",
"source": "",
"time_interval": "Yearly",
"timeseries": 0,
"timespan": "Last Year",
"type": "Donut",
"use_report_chart": 0,
"value_based_on": "",
"y_axis": []
}

View File

@ -2,18 +2,13 @@
"cards": [
{
"hidden": 0,
"label": "Tools",
"links": "[\n {\n \"label\": \"Student Attendance Tool\",\n \"name\": \"Student Attendance Tool\",\n \"type\": \"doctype\"\n },\n {\n \"label\": \"Assessment Result Tool\",\n \"name\": \"Assessment Result Tool\",\n \"type\": \"doctype\"\n },\n {\n \"label\": \"Student Group Creation Tool\",\n \"name\": \"Student Group Creation Tool\",\n \"type\": \"doctype\"\n },\n {\n \"label\": \"Program Enrollment Tool\",\n \"name\": \"Program Enrollment Tool\",\n \"type\": \"doctype\"\n },\n {\n \"label\": \"Course Scheduling Tool\",\n \"name\": \"Course Scheduling Tool\",\n \"type\": \"doctype\"\n }\n]"
"label": "Student and Instructor",
"links": "[\n {\n \"label\": \"Student\",\n \"name\": \"Student\",\n \"onboard\": 1,\n \"type\": \"doctype\"\n },\n {\n \"label\": \"Instructor\",\n \"name\": \"Instructor\",\n \"onboard\": 1,\n \"type\": \"doctype\"\n },\n {\n \"label\": \"Guardian\",\n \"name\": \"Guardian\",\n \"type\": \"doctype\"\n },\n {\n \"label\": \"Student Group\",\n \"name\": \"Student Group\",\n \"type\": \"doctype\"\n },\n {\n \"label\": \"Student Log\",\n \"name\": \"Student Log\",\n \"type\": \"doctype\"\n }\n]"
},
{
"hidden": 0,
"label": "Other Reports",
"links": "[\n {\n \"dependencies\": [\n \"Program Enrollment\"\n ],\n \"doctype\": \"Program Enrollment\",\n \"is_query_report\": true,\n \"label\": \"Student and Guardian Contact Details\",\n \"name\": \"Student and Guardian Contact Details\",\n \"type\": \"report\"\n },\n {\n \"dependencies\": [\n \"Student Attendance\"\n ],\n \"doctype\": \"Student Attendance\",\n \"is_query_report\": true,\n \"label\": \"Student Monthly Attendance Sheet\",\n \"name\": \"Student Monthly Attendance Sheet\",\n \"type\": \"report\"\n },\n {\n \"dependencies\": [\n \"Fees\"\n ],\n \"doctype\": \"Fees\",\n \"is_query_report\": true,\n \"label\": \"Student Fee Collection\",\n \"name\": \"Student Fee Collection\",\n \"type\": \"report\"\n }\n]"
},
{
"hidden": 0,
"label": "Settings",
"links": "[\n {\n \"label\": \"Student Category\",\n \"name\": \"Student Category\",\n \"type\": \"doctype\"\n },\n {\n \"label\": \"Student Batch Name\",\n \"name\": \"Student Batch Name\",\n \"type\": \"doctype\"\n },\n {\n \"label\": \"Grading Scale\",\n \"name\": \"Grading Scale\",\n \"onboard\": 1,\n \"type\": \"doctype\"\n },\n {\n \"label\": \"Academic Term\",\n \"name\": \"Academic Term\",\n \"type\": \"doctype\"\n },\n {\n \"label\": \"Academic Year\",\n \"name\": \"Academic Year\",\n \"type\": \"doctype\"\n },\n {\n \"label\": \"Education Settings\",\n \"name\": \"Education Settings\",\n \"type\": \"doctype\"\n }\n]"
"label": "Masters",
"links": "[\n {\n \"label\": \"Program\",\n \"name\": \"Program\",\n \"type\": \"doctype\"\n },\n {\n \"label\": \"Course\",\n \"name\": \"Course\",\n \"onboard\": 1,\n \"type\": \"doctype\"\n },\n {\n \"label\": \"Topic\",\n \"name\": \"Topic\",\n \"type\": \"doctype\"\n },\n {\n \"label\": \"Room\",\n \"name\": \"Room\",\n \"onboard\": 1,\n \"type\": \"doctype\"\n }\n]"
},
{
"hidden": 0,
@ -22,33 +17,18 @@
},
{
"hidden": 0,
"label": "Attendance",
"links": "[\n {\n \"label\": \"Student Attendance\",\n \"name\": \"Student Attendance\",\n \"type\": \"doctype\"\n },\n {\n \"label\": \"Student Leave Application\",\n \"name\": \"Student Leave Application\",\n \"type\": \"doctype\"\n },\n {\n \"dependencies\": [\n \"Student Attendance\"\n ],\n \"doctype\": \"Student Attendance\",\n \"is_query_report\": true,\n \"label\": \"Absent Student Report\",\n \"name\": \"Absent Student Report\",\n \"type\": \"report\"\n },\n {\n \"dependencies\": [\n \"Student Attendance\"\n ],\n \"doctype\": \"Student Attendance\",\n \"is_query_report\": true,\n \"label\": \"Student Batch-Wise Attendance\",\n \"name\": \"Student Batch-Wise Attendance\",\n \"type\": \"report\"\n }\n]"
"label": "Settings",
"links": "[\n {\n \"label\": \"Education Settings\",\n \"name\": \"Education Settings\",\n \"type\": \"doctype\"\n },\n {\n \"label\": \"Student Category\",\n \"name\": \"Student Category\",\n \"type\": \"doctype\"\n },\n {\n \"label\": \"Student Batch Name\",\n \"name\": \"Student Batch Name\",\n \"type\": \"doctype\"\n },\n {\n \"label\": \"Grading Scale\",\n \"name\": \"Grading Scale\",\n \"onboard\": 1,\n \"type\": \"doctype\"\n },\n {\n \"label\": \"Academic Term\",\n \"name\": \"Academic Term\",\n \"type\": \"doctype\"\n },\n {\n \"label\": \"Academic Year\",\n \"name\": \"Academic Year\",\n \"type\": \"doctype\"\n }\n]"
},
{
"hidden": 0,
"label": "Admission",
"links": "[\n {\n \"label\": \"Student Applicant\",\n \"name\": \"Student Applicant\",\n \"type\": \"doctype\"\n },\n {\n \"label\": \"Student Admission\",\n \"name\": \"Student Admission\",\n \"type\": \"doctype\"\n },\n {\n \"label\": \"Program Enrollment\",\n \"name\": \"Program Enrollment\",\n \"type\": \"doctype\"\n }\n]"
"links": "[\n {\n \"label\": \"Student Applicant\",\n \"name\": \"Student Applicant\",\n \"type\": \"doctype\"\n },\n {\n \"label\": \"Student Admission\",\n \"name\": \"Student Admission\",\n \"type\": \"doctype\"\n },\n {\n \"label\": \"Program Enrollment\",\n \"name\": \"Program Enrollment\",\n \"type\": \"doctype\"\n },\n {\n \"label\": \"Course Enrollment\",\n \"name\": \"Course Enrollment\",\n \"type\": \"doctype\"\n }\n]"
},
{
"hidden": 0,
"label": "Assessment",
"links": "[\n {\n \"label\": \"Assessment Plan\",\n \"name\": \"Assessment Plan\",\n \"type\": \"doctype\"\n },\n {\n \"label\": \"Assessment Group\",\n \"link\": \"Tree/Assessment Group\",\n \"name\": \"Assessment Group\",\n \"type\": \"doctype\"\n },\n {\n \"label\": \"Assessment Result\",\n \"name\": \"Assessment Result\",\n \"type\": \"doctype\"\n },\n {\n \"label\": \"Assessment Criteria\",\n \"name\": \"Assessment Criteria\",\n \"type\": \"doctype\"\n }\n]"
},
{
"hidden": 0,
"label": "Student",
"links": "[\n {\n \"label\": \"Student\",\n \"name\": \"Student\",\n \"onboard\": 1,\n \"type\": \"doctype\"\n },\n {\n \"label\": \"Guardian\",\n \"name\": \"Guardian\",\n \"type\": \"doctype\"\n },\n {\n \"label\": \"Student Log\",\n \"name\": \"Student Log\",\n \"type\": \"doctype\"\n },\n {\n \"label\": \"Student Group\",\n \"name\": \"Student Group\",\n \"type\": \"doctype\"\n }\n]"
},
{
"hidden": 0,
"label": "Masters",
"links": "[\n {\n \"label\": \"Program\",\n \"name\": \"Program\",\n \"type\": \"doctype\"\n },\n {\n \"label\": \"Course\",\n \"name\": \"Course\",\n \"onboard\": 1,\n \"type\": \"doctype\"\n },\n {\n \"label\": \"Topic\",\n \"name\": \"Topic\",\n \"type\": \"doctype\"\n },\n {\n \"label\": \"Instructor\",\n \"name\": \"Instructor\",\n \"onboard\": 1,\n \"type\": \"doctype\"\n },\n {\n \"label\": \"Room\",\n \"name\": \"Room\",\n \"onboard\": 1,\n \"type\": \"doctype\"\n }\n]"
},
{
"hidden": 0,
"label": "LMS Activity",
"links": "[\n {\n \"label\": \"Course Enrollment\",\n \"name\": \"Course Enrollment\",\n \"type\": \"doctype\"\n },\n {\n \"label\": \"Course Activity\",\n \"name\": \"Course Activity\",\n \"type\": \"doctype\"\n },\n {\n \"label\": \"Quiz Activity\",\n \"name\": \"Quiz Activity\",\n \"type\": \"doctype\"\n }\n]"
"label": "Fees",
"links": "[\n {\n \"label\": \"Fee Structure\",\n \"name\": \"Fee Structure\",\n \"type\": \"doctype\"\n },\n {\n \"label\": \"Fee Category\",\n \"name\": \"Fee Category\",\n \"type\": \"doctype\"\n },\n {\n \"label\": \"Fee Schedule\",\n \"name\": \"Fee Schedule\",\n \"type\": \"doctype\"\n },\n {\n \"label\": \"Fees\",\n \"name\": \"Fees\",\n \"type\": \"doctype\"\n },\n {\n \"dependencies\": [\n \"Fees\"\n ],\n \"doctype\": \"Fees\",\n \"is_query_report\": true,\n \"label\": \"Student Fee Collection Report\",\n \"name\": \"Student Fee Collection\",\n \"type\": \"report\"\n },\n {\n \"dependencies\": [\n \"Fees\"\n ],\n \"doctype\": \"Fees\",\n \"is_query_report\": true,\n \"label\": \"Program wise Fee Collection Report\",\n \"name\": \"Program wise Fee Collection\",\n \"type\": \"report\"\n }\n]"
},
{
"hidden": 0,
@ -57,8 +37,18 @@
},
{
"hidden": 0,
"label": "Fees",
"links": "[\n {\n \"label\": \"Fees\",\n \"name\": \"Fees\",\n \"type\": \"doctype\"\n },\n {\n \"label\": \"Fee Schedule\",\n \"name\": \"Fee Schedule\",\n \"type\": \"doctype\"\n },\n {\n \"label\": \"Fee Structure\",\n \"name\": \"Fee Structure\",\n \"type\": \"doctype\"\n },\n {\n \"label\": \"Fee Category\",\n \"name\": \"Fee Category\",\n \"type\": \"doctype\"\n }\n]"
"label": "Attendance",
"links": "[\n {\n \"label\": \"Student Attendance\",\n \"name\": \"Student Attendance\",\n \"type\": \"doctype\"\n },\n {\n \"label\": \"Student Leave Application\",\n \"name\": \"Student Leave Application\",\n \"type\": \"doctype\"\n },\n {\n \"dependencies\": [\n \"Student Attendance\"\n ],\n \"doctype\": \"Student Attendance\",\n \"is_query_report\": true,\n \"label\": \"Student Monthly Attendance Sheet\",\n \"name\": \"Student Monthly Attendance Sheet\",\n \"type\": \"report\"\n },\n {\n \"dependencies\": [\n \"Student Attendance\"\n ],\n \"doctype\": \"Student Attendance\",\n \"is_query_report\": true,\n \"label\": \"Absent Student Report\",\n \"name\": \"Absent Student Report\",\n \"type\": \"report\"\n },\n {\n \"dependencies\": [\n \"Student Attendance\"\n ],\n \"doctype\": \"Student Attendance\",\n \"is_query_report\": true,\n \"label\": \"Student Batch-Wise Attendance\",\n \"name\": \"Student Batch-Wise Attendance\",\n \"type\": \"report\"\n }\n]"
},
{
"hidden": 0,
"label": "LMS Activity",
"links": "[\n {\n \"label\": \"Course Enrollment\",\n \"name\": \"Course Enrollment\",\n \"type\": \"doctype\"\n },\n {\n \"label\": \"Course Activity\",\n \"name\": \"Course Activity\",\n \"type\": \"doctype\"\n },\n {\n \"label\": \"Quiz Activity\",\n \"name\": \"Quiz Activity\",\n \"type\": \"doctype\"\n }\n]"
},
{
"hidden": 0,
"label": "Assessment",
"links": "[\n {\n \"label\": \"Assessment Plan\",\n \"name\": \"Assessment Plan\",\n \"type\": \"doctype\"\n },\n {\n \"label\": \"Assessment Group\",\n \"link\": \"Tree/Assessment Group\",\n \"name\": \"Assessment Group\",\n \"type\": \"doctype\"\n },\n {\n \"label\": \"Assessment Result\",\n \"name\": \"Assessment Result\",\n \"type\": \"doctype\"\n },\n {\n \"label\": \"Assessment Criteria\",\n \"name\": \"Assessment Criteria\",\n \"type\": \"doctype\"\n }\n]"
},
{
"hidden": 0,
@ -67,28 +57,98 @@
},
{
"hidden": 0,
"label": "Reports",
"links": "[\n {\n \"dependencies\": [\n \"Fees\"\n ],\n \"doctype\": \"Fees\",\n \"is_query_report\": true,\n \"label\": \"Student Fee Collection\",\n \"name\": \"Student Fee Collection\",\n \"type\": \"report\"\n },\n {\n \"dependencies\": [\n \"Student Attendance\"\n ],\n \"doctype\": \"Student Attendance\",\n \"is_query_report\": true,\n \"label\": \"Student Monthly Attendance Sheet\",\n \"name\": \"Student Monthly Attendance Sheet\",\n \"type\": \"report\"\n },\n {\n \"dependencies\": [\n \"Student Attendance\"\n ],\n \"doctype\": \"Student Attendance\",\n \"is_query_report\": true,\n \"label\": \"Absent Student Report\",\n \"name\": \"Absent Student Report\",\n \"type\": \"report\"\n },\n {\n \"dependencies\": [\n \"Program Enrollment\"\n ],\n \"doctype\": \"Program Enrollment\",\n \"is_query_report\": true,\n \"label\": \"Student and Guardian Contact Details\",\n \"name\": \"Student and Guardian Contact Details\",\n \"type\": \"report\"\n },\n {\n \"dependencies\": [\n \"Student Attendance\"\n ],\n \"doctype\": \"Student Attendance\",\n \"is_query_report\": true,\n \"label\": \"Student Batch-Wise Attendance\",\n \"name\": \"Student Batch-Wise Attendance\",\n \"type\": \"report\"\n }\n]"
"label": "Tools",
"links": "[\n {\n \"label\": \"Student Attendance Tool\",\n \"name\": \"Student Attendance Tool\",\n \"type\": \"doctype\"\n },\n {\n \"label\": \"Assessment Result Tool\",\n \"name\": \"Assessment Result Tool\",\n \"type\": \"doctype\"\n },\n {\n \"label\": \"Student Group Creation Tool\",\n \"name\": \"Student Group Creation Tool\",\n \"type\": \"doctype\"\n },\n {\n \"label\": \"Program Enrollment Tool\",\n \"name\": \"Program Enrollment Tool\",\n \"type\": \"doctype\"\n },\n {\n \"label\": \"Course Scheduling Tool\",\n \"name\": \"Course Scheduling Tool\",\n \"type\": \"doctype\"\n }\n]"
},
{
"hidden": 0,
"label": "Other Reports",
"links": "[\n {\n \"dependencies\": [\n \"Program Enrollment\"\n ],\n \"doctype\": \"Program Enrollment\",\n \"is_query_report\": true,\n \"label\": \"Student and Guardian Contact Details\",\n \"name\": \"Student and Guardian Contact Details\",\n \"type\": \"report\"\n }\n]"
}
],
"category": "Domains",
"charts": [],
"charts": [
{
"chart_name": "Program Enrollments",
"label": "Program Enrollments"
}
],
"creation": "2020-03-02 17:22:57.066401",
"developer_mode_only": 0,
"disable_user_customization": 0,
"docstatus": 0,
"doctype": "Desk Page",
"extends_another_page": 0,
"hide_custom": 0,
"idx": 0,
"is_standard": 1,
"label": "Education",
"modified": "2020-05-22 01:09:13.058482",
"modified": "2020-07-27 19:35:18.832694",
"modified_by": "Administrator",
"module": "Education",
"name": "Education",
"onboarding": "Education",
"owner": "Administrator",
"pin_to_bottom": 0,
"pin_to_top": 0,
"restrict_to_domain": "Education",
"shortcuts": []
"shortcuts": [
{
"color": "#cef6d1",
"format": "{} Active",
"label": "Student",
"link_to": "Student",
"stats_filter": "{\n \"enabled\": 1\n}",
"type": "DocType"
},
{
"color": "#cef6d1",
"format": "{} Active",
"label": "Instructor",
"link_to": "Instructor",
"stats_filter": "{\n \"status\": \"Active\"\n}",
"type": "DocType"
},
{
"color": "",
"format": "",
"label": "Program",
"link_to": "Program",
"stats_filter": "",
"type": "DocType"
},
{
"label": "Course",
"link_to": "Course",
"type": "DocType"
},
{
"color": "#ffe8cd",
"format": "{} Unpaid",
"label": "Fees",
"link_to": "Fees",
"stats_filter": "{\n \"outstanding_amount\": [\"!=\", 0.0]\n}",
"type": "DocType"
},
{
"label": "Student Monthly Attendance Sheet",
"link_to": "Student Monthly Attendance Sheet",
"type": "Report"
},
{
"label": "Course Scheduling Tool",
"link_to": "Course Scheduling Tool",
"type": "DocType"
},
{
"label": "Student Attendance Tool",
"link_to": "Student Attendance Tool",
"type": "DocType"
},
{
"label": "Dashboard",
"link_to": "Education",
"type": "Dashboard"
}
]
}

View File

@ -160,7 +160,8 @@
"in_list_view": 1,
"in_standard_filter": 1,
"label": "Program",
"options": "Program"
"options": "Program",
"reqd": 1
},
{
"fieldname": "student_batch",
@ -339,7 +340,7 @@
],
"is_submittable": 1,
"links": [],
"modified": "2020-07-18 05:00:00.621010",
"modified": "2020-08-05 14:05:47.728409",
"modified_by": "Administrator",
"module": "Education",
"name": "Fees",

View File

@ -1,348 +1,125 @@
{
"allow_copy": 0,
"allow_events_in_timeline": 0,
"allow_guest_to_view": 0,
"actions": [],
"allow_import": 1,
"allow_rename": 0,
"autoname": "naming_series:",
"beta": 0,
"creation": "2015-11-04 15:56:30.004034",
"custom": 0,
"docstatus": 0,
"doctype": "DocType",
"document_type": "Other",
"editable_grid": 0,
"engine": "InnoDB",
"field_order": [
"instructor_name",
"employee",
"gender",
"column_break_5",
"status",
"naming_series",
"department",
"image",
"log_details",
"instructor_log"
],
"fields": [
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fieldname": "instructor_name",
"fieldtype": "Data",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 1,
"in_list_view": 0,
"in_standard_filter": 0,
"label": "Instructor Name",
"length": 0,
"no_copy": 0,
"permlevel": 0,
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 1,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
"reqd": 1
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fieldname": "employee",
"fieldtype": "Link",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 1,
"in_standard_filter": 0,
"label": "Employee",
"length": 0,
"no_copy": 0,
"options": "Employee",
"permlevel": 0,
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
"options": "Employee"
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fieldname": "column_break_5",
"fieldtype": "Column Break",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
"length": 0,
"no_copy": 0,
"permlevel": 0,
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
"fieldtype": "Column Break"
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"default": "",
"fieldname": "naming_series",
"fieldtype": "Select",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
"label": "Naming Series",
"length": 0,
"no_copy": 0,
"options": "EDU-INS-.YYYY.-",
"permlevel": 0,
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 1,
"translatable": 0,
"unique": 0
"set_only_once": 1
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fetch_from": "employee.department",
"fieldname": "department",
"fieldtype": "Link",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 1,
"in_standard_filter": 1,
"label": "Department",
"length": 0,
"no_copy": 0,
"options": "Department",
"permlevel": 0,
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
"options": "Department"
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fieldname": "image",
"fieldtype": "Attach Image",
"hidden": 1,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
"label": "Image",
"length": 0,
"no_copy": 0,
"permlevel": 0,
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
"label": "Image"
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fieldname": "log_details",
"fieldtype": "Section Break",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
"label": "Instructor Log",
"length": 0,
"no_copy": 0,
"permlevel": 0,
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
"label": "Instructor Log"
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fieldname": "instructor_log",
"fieldtype": "Table",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
"label": "Instructor Log",
"length": 0,
"no_copy": 0,
"options": "Instructor Log",
"permlevel": 0,
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
"options": "Instructor Log"
},
{
"default": "Active",
"fieldname": "status",
"fieldtype": "Select",
"in_list_view": 1,
"in_standard_filter": 1,
"label": "Status",
"options": "Active\nLeft"
},
{
"fetch_from": "employee.gender",
"fieldname": "gender",
"fieldtype": "Link",
"label": "Gender",
"options": "Gender",
"read_only_depends_on": "employee"
}
],
"has_web_view": 0,
"hide_heading": 0,
"hide_toolbar": 0,
"idx": 0,
"image_field": "image",
"image_view": 0,
"in_create": 0,
"is_submittable": 0,
"issingle": 0,
"istable": 0,
"max_attachments": 0,
"menu_index": 0,
"modified": "2019-01-30 11:28:17.571207",
"links": [],
"modified": "2020-07-23 18:33:57.904398",
"modified_by": "Administrator",
"module": "Education",
"name": "Instructor",
"name_case": "",
"owner": "Administrator",
"permissions": [
{
"amend": 0,
"cancel": 0,
"create": 0,
"delete": 0,
"email": 1,
"export": 0,
"if_owner": 0,
"import": 0,
"permlevel": 0,
"print": 1,
"read": 1,
"report": 1,
"role": "Instructor",
"set_user_permissions": 0,
"share": 0,
"submit": 0,
"write": 0
"role": "Instructor"
},
{
"amend": 0,
"cancel": 0,
"create": 1,
"delete": 1,
"email": 1,
"export": 1,
"if_owner": 0,
"import": 0,
"permlevel": 0,
"print": 1,
"read": 1,
"report": 1,
"role": "Education Manager",
"set_user_permissions": 1,
"share": 1,
"submit": 0,
"write": 1
}
],
"quick_entry": 0,
"read_only": 0,
"read_only_onload": 0,
"restrict_to_domain": "Education",
"show_name_in_global_search": 1,
"sort_field": "modified",
"sort_order": "DESC",
"title_field": "instructor_name",
"track_changes": 0,
"track_seen": 0,
"track_views": 0
"title_field": "instructor_name"
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,62 @@
{
"cards": [
{
"card": "Total Students"
},
{
"card": "Total Instructors"
},
{
"card": "Program Enrollments"
},
{
"card": "Student Applicants to Review"
}
],
"charts": [
{
"chart": "Program Enrollments",
"width": "Full"
},
{
"chart": "Program wise Enrollment",
"width": "Half"
},
{
"chart": "Course wise Enrollment",
"width": "Half"
},
{
"chart": "Course wise Student Count",
"width": "Half"
},
{
"chart": "Student Category wise Program Enrollments",
"width": "Half"
},
{
"chart": "Student Gender Diversity Ratio",
"width": "Half"
},
{
"chart": "Instructor Gender Diversity Ratio",
"width": "Half"
},
{
"chart": "Program wise Fee Collection",
"width": "Full"
}
],
"creation": "2020-07-22 18:51:02.195762",
"dashboard_name": "Education",
"docstatus": 0,
"doctype": "Dashboard",
"idx": 0,
"is_default": 0,
"is_standard": 1,
"modified": "2020-08-05 16:22:17.428101",
"modified_by": "Administrator",
"module": "Education",
"name": "Education",
"owner": "Administrator"
}

View File

@ -0,0 +1,50 @@
{
"allow_roles": [
{
"role": "Education Manager"
}
],
"creation": "2020-07-27 19:02:49.561391",
"docstatus": 0,
"doctype": "Module Onboarding",
"documentation_url": "https://docs.erpnext.com/docs/user/manual/en/education",
"idx": 0,
"is_complete": 0,
"modified": "2020-07-27 21:10:46.722961",
"modified_by": "Administrator",
"module": "Education",
"name": "Education",
"owner": "Administrator",
"steps": [
{
"step": "Create a Student"
},
{
"step": "Create an Instructor"
},
{
"step": "Introduction to Program and Courses"
},
{
"step": "Create a Topic"
},
{
"step": "Create a Course"
},
{
"step": "Create a Program"
},
{
"step": "Enroll a Student in a Program"
},
{
"step": "Introduction to Student Group"
},
{
"step": "Introduction to Student Attendance"
}
],
"subtitle": "Students, Instructors, Programs and more.",
"success_message": "The Education Module is all set up!",
"title": "Let's Set Up the Education Module."
}

View File

@ -0,0 +1,23 @@
{
"aggregate_function_based_on": "",
"creation": "2020-07-27 18:26:27.005186",
"docstatus": 0,
"doctype": "Number Card",
"document_type": "Program Enrollment",
"dynamic_filters_json": "[]",
"filters_json": "[[\"Program Enrollment\",\"docstatus\",\"=\",\"1\",false],[\"Program Enrollment\",\"enrollment_date\",\"Timespan\",\"this year\",false]]",
"function": "Count",
"idx": 0,
"is_public": 1,
"is_standard": 1,
"label": "Program Enrollments",
"modified": "2020-07-27 18:26:32.512624",
"modified_by": "Administrator",
"module": "Education",
"name": "Program Enrollments",
"owner": "Administrator",
"report_function": "Sum",
"show_percentage_stats": 1,
"stats_time_interval": "Yearly",
"type": "Document Type"
}

View File

@ -0,0 +1,23 @@
{
"aggregate_function_based_on": "",
"creation": "2020-07-27 18:42:33.366862",
"docstatus": 0,
"doctype": "Number Card",
"document_type": "Student Applicant",
"dynamic_filters_json": "[]",
"filters_json": "[[\"Student Applicant\",\"application_status\",\"=\",\"Applied\",false]]",
"function": "Count",
"idx": 0,
"is_public": 1,
"is_standard": 1,
"label": "Student Applicants to Review",
"modified": "2020-07-27 18:42:42.739710",
"modified_by": "Administrator",
"module": "Education",
"name": "Student Applicants to Review",
"owner": "Administrator",
"report_function": "Sum",
"show_percentage_stats": 1,
"stats_time_interval": "Monthly",
"type": "Document Type"
}

View File

@ -0,0 +1,23 @@
{
"aggregate_function_based_on": "",
"creation": "2020-07-23 14:19:38.423190",
"docstatus": 0,
"doctype": "Number Card",
"document_type": "Instructor",
"dynamic_filters_json": "[]",
"filters_json": "[[\"Instructor\",\"status\",\"=\",\"Active\",false]]",
"function": "Count",
"idx": 0,
"is_public": 1,
"is_standard": 1,
"label": "Total Instructors",
"modified": "2020-07-23 14:19:47.623306",
"modified_by": "Administrator",
"module": "Education",
"name": "Total Instructors",
"owner": "Administrator",
"report_function": "Sum",
"show_percentage_stats": 1,
"stats_time_interval": "Monthly",
"type": "Document Type"
}

View File

@ -0,0 +1,23 @@
{
"aggregate_function_based_on": "",
"creation": "2020-07-23 14:18:07.732298",
"docstatus": 0,
"doctype": "Number Card",
"document_type": "Student",
"dynamic_filters_json": "[]",
"filters_json": "[[\"Student\",\"enabled\",\"=\",1,false]]",
"function": "Count",
"idx": 0,
"is_public": 1,
"is_standard": 1,
"label": "Total Students",
"modified": "2020-07-23 14:18:40.603947",
"modified_by": "Administrator",
"module": "Education",
"name": "Total Students",
"owner": "Administrator",
"report_function": "Sum",
"show_percentage_stats": 1,
"stats_time_interval": "Monthly",
"type": "Document Type"
}

View File

@ -0,0 +1,19 @@
{
"action": "Create Entry",
"creation": "2020-07-27 19:09:04.493932",
"docstatus": 0,
"doctype": "Onboarding Step",
"idx": 0,
"is_complete": 0,
"is_mandatory": 0,
"is_single": 0,
"is_skipped": 0,
"modified": "2020-07-27 19:09:04.493932",
"modified_by": "Administrator",
"name": "Create a Course",
"owner": "Administrator",
"reference_document": "Course",
"show_full_form": 1,
"title": "Create a Course",
"validate_action": 1
}

View File

@ -0,0 +1,19 @@
{
"action": "Create Entry",
"creation": "2020-07-27 19:09:35.451945",
"docstatus": 0,
"doctype": "Onboarding Step",
"idx": 0,
"is_complete": 0,
"is_mandatory": 0,
"is_single": 0,
"is_skipped": 0,
"modified": "2020-07-27 19:09:35.451945",
"modified_by": "Administrator",
"name": "Create a Program",
"owner": "Administrator",
"reference_document": "Program",
"show_full_form": 1,
"title": "Create a Program",
"validate_action": 1
}

View File

@ -0,0 +1,19 @@
{
"action": "Create Entry",
"creation": "2020-07-27 19:17:20.326837",
"docstatus": 0,
"doctype": "Onboarding Step",
"idx": 0,
"is_complete": 0,
"is_mandatory": 1,
"is_single": 0,
"is_skipped": 0,
"modified": "2020-07-27 19:49:47.724289",
"modified_by": "Administrator",
"name": "Create a Student",
"owner": "Administrator",
"reference_document": "Student",
"show_full_form": 1,
"title": "Create a Student",
"validate_action": 1
}

View File

@ -0,0 +1,19 @@
{
"action": "Create Entry",
"creation": "2020-07-27 19:08:40.754534",
"docstatus": 0,
"doctype": "Onboarding Step",
"idx": 0,
"is_complete": 0,
"is_mandatory": 0,
"is_single": 0,
"is_skipped": 0,
"modified": "2020-07-27 19:09:13.231995",
"modified_by": "Administrator",
"name": "Create a Topic",
"owner": "Administrator",
"reference_document": "Topic",
"show_full_form": 1,
"title": "Create a Topic",
"validate_action": 1
}

View File

@ -0,0 +1,19 @@
{
"action": "Create Entry",
"creation": "2020-07-27 19:17:39.158037",
"docstatus": 0,
"doctype": "Onboarding Step",
"idx": 0,
"is_complete": 0,
"is_mandatory": 1,
"is_single": 0,
"is_skipped": 0,
"modified": "2020-07-27 19:49:47.723494",
"modified_by": "Administrator",
"name": "Create an Instructor",
"owner": "Administrator",
"reference_document": "Instructor",
"show_full_form": 1,
"title": "Create an Instructor",
"validate_action": 1
}

View File

@ -0,0 +1,19 @@
{
"action": "Create Entry",
"creation": "2020-07-27 19:10:28.530226",
"docstatus": 0,
"doctype": "Onboarding Step",
"idx": 0,
"is_complete": 0,
"is_mandatory": 0,
"is_single": 0,
"is_skipped": 0,
"modified": "2020-07-27 19:10:28.530226",
"modified_by": "Administrator",
"name": "Enroll a Student in a Program",
"owner": "Administrator",
"reference_document": "Program Enrollment",
"show_full_form": 0,
"title": "Enroll a Student in a Program",
"validate_action": 1
}

View File

@ -0,0 +1,19 @@
{
"action": "Watch Video",
"creation": "2020-07-27 19:05:12.663987",
"docstatus": 0,
"doctype": "Onboarding Step",
"idx": 0,
"is_complete": 0,
"is_mandatory": 0,
"is_single": 0,
"is_skipped": 0,
"modified": "2020-07-27 20:18:11.831789",
"modified_by": "Administrator",
"name": "Introduction to Program and Courses",
"owner": "Administrator",
"show_full_form": 0,
"title": "Introduction to Program and Courses",
"validate_action": 1,
"video_url": "https://www.youtube.com/watch?v=1ueE4seFTp8"
}

View File

@ -0,0 +1,19 @@
{
"action": "Watch Video",
"creation": "2020-07-27 19:14:57.176131",
"docstatus": 0,
"doctype": "Onboarding Step",
"idx": 0,
"is_complete": 0,
"is_mandatory": 0,
"is_single": 0,
"is_skipped": 0,
"modified": "2020-07-27 19:55:55.411032",
"modified_by": "Administrator",
"name": "Introduction to Student Attendance",
"owner": "Administrator",
"show_full_form": 0,
"title": "Introduction to Student Attendance",
"validate_action": 1,
"video_url": "https://youtu.be/j9pgkPuyiaI"
}

View File

@ -0,0 +1,20 @@
{
"action": "Watch Video",
"creation": "2020-07-27 19:12:05.046465",
"docstatus": 0,
"doctype": "Onboarding Step",
"idx": 0,
"is_complete": 0,
"is_mandatory": 0,
"is_single": 0,
"is_skipped": 0,
"modified": "2020-07-27 19:42:47.286441",
"modified_by": "Administrator",
"name": "Introduction to Student Group",
"owner": "Administrator",
"reference_document": "Student Group",
"show_full_form": 0,
"title": "Introduction to Student Group",
"validate_action": 1,
"video_url": "https://youtu.be/5K_smeeE1Q4"
}

View File

@ -0,0 +1,22 @@
// Copyright (c) 2016, Frappe Technologies Pvt. Ltd. and contributors
// For license information, please see license.txt
/* eslint-disable */
frappe.query_reports["Program wise Fee Collection"] = {
"filters": [
{
"fieldname": "from_date",
"label": __("From Date"),
"fieldtype": "Date",
"default": frappe.datetime.add_months(frappe.datetime.get_today(), -1),
"reqd": 1
},
{
"fieldname": "to_date",
"label": __("To Date"),
"fieldtype": "Date",
"default": frappe.datetime.get_today(),
"reqd": 1
}
]
};

View File

@ -0,0 +1,32 @@
{
"add_total_row": 1,
"creation": "2020-07-27 16:05:33.263539",
"disable_prepared_report": 0,
"disabled": 0,
"docstatus": 0,
"doctype": "Report",
"idx": 0,
"is_standard": "Yes",
"json": "{}",
"modified": "2020-08-05 14:14:12.410515",
"modified_by": "Administrator",
"module": "Education",
"name": "Program wise Fee Collection",
"owner": "Administrator",
"prepared_report": 0,
"query": "SELECT \n FeesCollected.program AS \"Program:Link/Program:200\",\n FeesCollected.paid_amount AS \"Fees Collected:Currency:150\",\n FeesCollected.outstanding_amount AS \"Outstanding Amount:Currency:150\",\n FeesCollected.grand_total \"Grand Total:Currency:150\"\nFROM (\n SELECT \n sum(grand_total) - sum(outstanding_amount) AS paid_amount, program,\n sum(outstanding_amount) AS outstanding_amount,\n sum(grand_total) AS grand_total\n FROM `tabFees`\n WHERE docstatus = 1\n GROUP BY program\n) AS FeesCollected\nORDER BY FeesCollected.paid_amount DESC",
"ref_doctype": "Fees",
"report_name": "Program wise Fee Collection",
"report_type": "Script Report",
"roles": [
{
"role": "Academics User"
},
{
"role": "Accounts User"
},
{
"role": "Accounts Manager"
}
]
}

View File

@ -0,0 +1,124 @@
# Copyright (c) 2013, Frappe Technologies Pvt. Ltd. and contributors
# For license information, please see license.txt
from __future__ import unicode_literals
import frappe
from frappe import _
def execute(filters=None):
if not filters:
filters = {}
columns = get_columns(filters)
data = get_data(filters)
chart = get_chart_data(data)
return columns, data, None, chart
def get_columns(filters=None):
return [
{
'label': _('Program'),
'fieldname': 'program',
'fieldtype': 'Link',
'options': 'Program',
'width': 300
},
{
'label': _('Fees Collected'),
'fieldname': 'fees_collected',
'fieldtype': 'Currency',
'width': 200
},
{
'label': _('Outstanding Amount'),
'fieldname': 'outstanding_amount',
'fieldtype': 'Currency',
'width': 200
},
{
'label': _('Grand Total'),
'fieldname': 'grand_total',
'fieldtype': 'Currency',
'width': 200
}
]
def get_data(filters=None):
data = []
conditions = get_filter_conditions(filters)
fee_details = frappe.db.sql(
"""
SELECT
FeesCollected.program,
FeesCollected.paid_amount,
FeesCollected.outstanding_amount,
FeesCollected.grand_total
FROM (
SELECT
sum(grand_total) - sum(outstanding_amount) AS paid_amount, program,
sum(outstanding_amount) AS outstanding_amount,
sum(grand_total) AS grand_total
FROM `tabFees`
WHERE
docstatus = 1 and
program IS NOT NULL
%s
GROUP BY program
) AS FeesCollected
ORDER BY FeesCollected.paid_amount DESC
""" % (conditions)
, as_dict=1)
for entry in fee_details:
data.append({
'program': entry.program,
'fees_collected': entry.paid_amount,
'outstanding_amount': entry.outstanding_amount,
'grand_total': entry.grand_total
})
return data
def get_filter_conditions(filters):
conditions = ''
if filters.get('from_date') and filters.get('to_date'):
conditions += " and posting_date BETWEEN '%s' and '%s'" % (filters.get('from_date'), filters.get('to_date'))
return conditions
def get_chart_data(data):
if not data:
return
labels = []
fees_collected = []
outstanding_amount = []
for entry in data:
labels.append(entry.get('program'))
fees_collected.append(entry.get('fees_collected'))
outstanding_amount.append(entry.get('outstanding_amount'))
return {
'data': {
'labels': labels,
'datasets': [
{
'name': _('Fees Collected'),
'values': fees_collected
},
{
'name': _('Outstanding Amt'),
'values': outstanding_amount
}
]
},
'type': 'bar'
}