diff --git a/education/desktop_icon/education.json b/education/desktop_icon/education.json new file mode 100644 index 00000000..6881abef --- /dev/null +++ b/education/desktop_icon/education.json @@ -0,0 +1,21 @@ +{ + "app": "education", + "bg_color": "gray", + "creation": "2026-03-24 17:21:10.011412", + "docstatus": 0, + "doctype": "Desktop Icon", + "hidden": 0, + "icon_type": "App", + "idx": 0, + "label": "Education", + "link_to": "Education", + "link_type": "Workspace Sidebar", + "logo_url": "/assets/education/edu-logo.svg", + "modified": "2026-03-24 17:21:10.011412", + "modified_by": "Administrator", + "name": "Education", + "owner": "Administrator", + "restrict_removal": 0, + "roles": [], + "standard": 1 +} diff --git a/education/education/doctype/fee_schedule/fee_schedule.py b/education/education/doctype/fee_schedule/fee_schedule.py index 890c2b0e..c8291e59 100644 --- a/education/education/doctype/fee_schedule/fee_schedule.py +++ b/education/education/doctype/fee_schedule/fee_schedule.py @@ -105,7 +105,8 @@ def validate_fee_components(self): if component not in fee_structure_components: frappe.msgprint( _("Fee Component {0} is not part of Fee Structure {1}").format( - component, frappe.bold(getlink("Fee Structure", self.fee_structure)) + component, + frappe.bold(getlink("Fee Structure", self.fee_structure)), ), alert=True, ) @@ -115,7 +116,7 @@ def validate_total_against_fee_strucuture(self): frappe.db.get_all( "Fee Schedule", filters={"fee_structure": self.fee_structure}, - fields=["sum(total_amount) as total"], + fields=[{"SUM": "total_amount", "as": "total"}], )[0]["total"] or 0 ) @@ -277,9 +278,9 @@ def get_fees_mapped_doc(fee_schedule, doctype, student_id, customer): }, }, "Fee Component": { - "doctype": "Sales Invoice Item" - if doctype == "Sales Invoice" - else "Sales Order Item", + "doctype": ( + "Sales Invoice Item" if doctype == "Sales Invoice" else "Sales Order Item" + ), "field_map": { # Fee Component Field : Child doctype Field "item": "item_code", diff --git a/education/education/workspace/education/education.json b/education/education/workspace/education/education.json index fec00285..0fc9a6f3 100644 --- a/education/education/workspace/education/education.json +++ b/education/education/workspace/education/education.json @@ -1,6 +1,6 @@ { "charts": [], - "content": "[{\"id\":\"kPDXosF_36\",\"type\":\"spacer\",\"data\":{\"col\":12}},{\"id\":\"M9f80RiBg-\",\"type\":\"header\",\"data\":{\"text\":\"Your Shortcuts\",\"col\":12}},{\"id\":\"kjn-PeQqa1\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Student\",\"col\":3}},{\"id\":\"HkSo_TH74e\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Instructor\",\"col\":3}},{\"id\":\"PCMoc9tc_K\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Program\",\"col\":3}},{\"id\":\"Xq6CSAeATl\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Course\",\"col\":3}},{\"id\":\"xxjcSj__5e\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Sales Invoice\",\"col\":3}},{\"id\":\"VkVspJGqYQ\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Student Monthly Attendance Sheet\",\"col\":3}},{\"id\":\"vfDR1CThl5\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Course Scheduling Tool\",\"col\":3}},{\"id\":\"25LD73fDQ5\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Student Attendance Tool\",\"col\":3}},{\"id\":\"syV1UYrgXd\",\"type\":\"spacer\",\"data\":{\"col\":12}},{\"id\":\"_iVVUE4qZL\",\"type\":\"header\",\"data\":{\"text\":\"Reports & Masters\",\"col\":12}},{\"id\":\"WhCpeh8evz\",\"type\":\"card\",\"data\":{\"card_name\":\"Student and Instructor\",\"col\":4}},{\"id\":\"zuYoZvBO0_\",\"type\":\"card\",\"data\":{\"card_name\":\"Masters\",\"col\":4}},{\"id\":\"3gGgyWyn0r\",\"type\":\"card\",\"data\":{\"card_name\":\"Content Masters\",\"col\":4}},{\"id\":\"9dBmFwGKS6\",\"type\":\"card\",\"data\":{\"card_name\":\"Settings\",\"col\":4}},{\"id\":\"qRTpZK9024\",\"type\":\"card\",\"data\":{\"card_name\":\"Admission\",\"col\":4}},{\"id\":\"CcvHgLgyYi\",\"type\":\"card\",\"data\":{\"card_name\":\"Fees\",\"col\":4}},{\"id\":\"kydSuuZSdB\",\"type\":\"card\",\"data\":{\"card_name\":\"Schedule\",\"col\":4}},{\"id\":\"WGne39384b\",\"type\":\"card\",\"data\":{\"card_name\":\"Attendance\",\"col\":4}},{\"id\":\"fQ0TQuXwz9\",\"type\":\"card\",\"data\":{\"card_name\":\"Assessment\",\"col\":4}},{\"id\":\"shkmvB71Ov\",\"type\":\"card\",\"data\":{\"card_name\":\"Assessment Reports\",\"col\":4}},{\"id\":\"ZWW4wtFwLa\",\"type\":\"card\",\"data\":{\"card_name\":\"Tools\",\"col\":4}},{\"id\":\"Y_MEmzWdEh\",\"type\":\"card\",\"data\":{\"card_name\":\"Other Reports\",\"col\":4}}]", + "content": "[{\"id\":\"kPDXosF_36\",\"type\":\"spacer\",\"data\":{\"col\":12}},{\"id\":\"M9f80RiBg-\",\"type\":\"header\",\"data\":{\"text\":\"Your Shortcuts\",\"col\":12}},{\"id\":\"kjn-PeQqa1\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Student\",\"col\":3}},{\"id\":\"HkSo_TH74e\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Instructor\",\"col\":3}},{\"id\":\"PCMoc9tc_K\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Program\",\"col\":3}},{\"id\":\"Xq6CSAeATl\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Course\",\"col\":3}},{\"id\":\"xxjcSj__5e\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Sales Invoice\",\"col\":3}},{\"id\":\"VkVspJGqYQ\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Student Monthly Attendance Sheet\",\"col\":3}},{\"id\":\"vfDR1CThl5\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Course Scheduling Tool\",\"col\":3}},{\"id\":\"25LD73fDQ5\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Student Attendance Tool\",\"col\":3}},{\"id\":\"syV1UYrgXd\",\"type\":\"spacer\",\"data\":{\"col\":12}},{\"id\":\"_iVVUE4qZL\",\"type\":\"header\",\"data\":{\"text\":\"Reports & Masters\",\"col\":12}},{\"id\":\"EBsRU2xcFw\",\"type\":\"card\",\"data\":{\"card_name\":\"Student Management\",\"col\":4}},{\"id\":\"OufyhhmN6N\",\"type\":\"card\",\"data\":{\"card_name\":\"Academics\",\"col\":4}},{\"id\":\"D8GDqhZ9sE\",\"type\":\"card\",\"data\":{\"card_name\":\"Admissions\",\"col\":4}},{\"id\":\"A0nnPR2NgO\",\"type\":\"card\",\"data\":{\"card_name\":\"Assessment\",\"col\":4}},{\"id\":\"qcYpKBL_rO\",\"type\":\"card\",\"data\":{\"card_name\":\"Fee Management\",\"col\":4}},{\"id\":\"-djWdXpYyb\",\"type\":\"card\",\"data\":{\"card_name\":\"Attendance\",\"col\":4}},{\"id\":\"lCibI7SZyl\",\"type\":\"card\",\"data\":{\"card_name\":\"Tools\",\"col\":4}},{\"id\":\"IJwDTQpPXg\",\"type\":\"card\",\"data\":{\"card_name\":\"Setup\",\"col\":4}},{\"id\":\"q7SnWm7FQK\",\"type\":\"card\",\"data\":{\"card_name\":\"Settings\",\"col\":4}},{\"id\":\"3gGgyWyn0r\",\"type\":\"card\",\"data\":{\"card_name\":\"Content Masters\",\"col\":4}},{\"id\":\"shkmvB71Ov\",\"type\":\"card\",\"data\":{\"card_name\":\"Assessment Reports\",\"col\":4}},{\"id\":\"U6oxKHCedI\",\"type\":\"card\",\"data\":{\"card_name\":\"Fee Reports\",\"col\":4}},{\"id\":\"fZCeeIc93M\",\"type\":\"card\",\"data\":{\"card_name\":\"Attendance Reports\",\"col\":4}},{\"id\":\"Y_MEmzWdEh\",\"type\":\"card\",\"data\":{\"card_name\":\"Other Reports\",\"col\":4}}]", "creation": "2020-03-02 17:22:57.066401", "custom_blocks": [], "docstatus": 0, @@ -12,14 +12,6 @@ "is_hidden": 0, "label": "Education", "links": [ - { - "hidden": 0, - "is_query_report": 0, - "label": "Student and Instructor", - "link_count": 0, - "onboard": 0, - "type": "Card Break" - }, { "dependencies": "", "hidden": 0, @@ -75,14 +67,6 @@ "onboard": 0, "type": "Link" }, - { - "hidden": 0, - "is_query_report": 0, - "label": "Masters", - "link_count": 0, - "onboard": 0, - "type": "Card Break" - }, { "dependencies": "", "hidden": 0, @@ -130,40 +114,89 @@ { "hidden": 0, "is_query_report": 0, - "label": "Content Masters", + "label": "Assessment Reports", "link_count": 0, "onboard": 0, "type": "Card Break" }, + { + "dependencies": "Assessment Result", + "hidden": 0, + "is_query_report": 1, + "label": "Course wise Assessment Report", + "link_count": 0, + "link_to": "Course wise Assessment Report", + "link_type": "Report", + "onboard": 0, + "type": "Link" + }, + { + "dependencies": "Assessment Result", + "hidden": 0, + "is_query_report": 1, + "label": "Final Assessment Grades", + "link_count": 0, + "link_to": "Final Assessment Grades", + "link_type": "Report", + "onboard": 0, + "type": "Link" + }, + { + "dependencies": "Assessment Plan", + "hidden": 0, + "is_query_report": 1, + "label": "Assessment Plan Status", + "link_count": 0, + "link_to": "Assessment Plan Status", + "link_type": "Report", + "onboard": 0, + "type": "Link" + }, { "dependencies": "", "hidden": 0, "is_query_report": 0, - "label": "Article", + "label": "Student Report Generation Tool", "link_count": 0, - "link_to": "Article", + "link_to": "Student Report Generation Tool", "link_type": "DocType", "onboard": 0, "type": "Link" }, { - "dependencies": "", "hidden": 0, "is_query_report": 0, - "label": "Video", + "label": "Other Reports", "link_count": 0, - "link_to": "Video", - "link_type": "DocType", + "onboard": 0, + "type": "Card Break" + }, + { + "dependencies": "Program Enrollment", + "hidden": 0, + "is_query_report": 1, + "label": "Student and Guardian Contact Details", + "link_count": 0, + "link_to": "Student and Guardian Contact Details", + "link_type": "Report", "onboard": 0, "type": "Link" }, { - "dependencies": "", "hidden": 0, "is_query_report": 0, - "label": "Quiz", + "label": "Admissions", + "link_count": 2, + "link_type": "DocType", + "onboard": 0, + "type": "Card Break" + }, + { + "hidden": 0, + "is_query_report": 0, + "label": "Student Applicant", "link_count": 0, - "link_to": "Quiz", + "link_to": "Student Applicant", "link_type": "DocType", "onboard": 0, "type": "Link" @@ -171,24 +204,43 @@ { "hidden": 0, "is_query_report": 0, - "label": "Settings", + "label": "Student Admission", "link_count": 0, + "link_to": "Student Admission", + "link_type": "DocType", + "onboard": 0, + "type": "Link" + }, + { + "hidden": 0, + "is_query_report": 0, + "label": "Student Management", + "link_count": 8, + "link_type": "DocType", "onboard": 0, "type": "Card Break" }, { - "dependencies": "", "hidden": 0, "is_query_report": 0, - "label": "Education Settings", + "label": "Student", "link_count": 0, - "link_to": "Education Settings", + "link_to": "Student", + "link_type": "DocType", + "onboard": 0, + "type": "Link" + }, + { + "hidden": 0, + "is_query_report": 0, + "label": "Student Group", + "link_count": 0, + "link_to": "Student Group", "link_type": "DocType", "onboard": 0, "type": "Link" }, { - "dependencies": "", "hidden": 0, "is_query_report": 0, "label": "Student Category", @@ -199,7 +251,6 @@ "type": "Link" }, { - "dependencies": "", "hidden": 0, "is_query_report": 0, "label": "Student Batch Name", @@ -210,34 +261,31 @@ "type": "Link" }, { - "dependencies": "", "hidden": 0, "is_query_report": 0, - "label": "Grading Scale", + "label": "Program Enrollment", "link_count": 0, - "link_to": "Grading Scale", + "link_to": "Program Enrollment", "link_type": "DocType", - "onboard": 1, + "onboard": 0, "type": "Link" }, { - "dependencies": "", "hidden": 0, "is_query_report": 0, - "label": "Academic Term", + "label": "Course Enrollment", "link_count": 0, - "link_to": "Academic Term", + "link_to": "Course Enrollment", "link_type": "DocType", "onboard": 0, "type": "Link" }, { - "dependencies": "", "hidden": 0, "is_query_report": 0, - "label": "Academic Year", + "label": "Student Log", "link_count": 0, - "link_to": "Academic Year", + "link_to": "Student Log", "link_type": "DocType", "onboard": 0, "type": "Link" @@ -245,51 +293,58 @@ { "hidden": 0, "is_query_report": 0, - "label": "Admission", + "label": "Guardian", "link_count": 0, + "link_to": "Guardian", + "link_type": "DocType", + "onboard": 0, + "type": "Link" + }, + { + "hidden": 0, + "is_query_report": 0, + "label": "Assessment", + "link_count": 5, + "link_type": "DocType", "onboard": 0, "type": "Card Break" }, { - "dependencies": "", "hidden": 0, "is_query_report": 0, - "label": "Student Applicant", + "label": "Assessment Plan", "link_count": 0, - "link_to": "Student Applicant", + "link_to": "Assessment Plan", "link_type": "DocType", "onboard": 0, "type": "Link" }, { - "dependencies": "", "hidden": 0, "is_query_report": 0, - "label": "Student Admission", + "label": "Assessment Criteria", "link_count": 0, - "link_to": "Student Admission", + "link_to": "Assessment Criteria", "link_type": "DocType", "onboard": 0, "type": "Link" }, { - "dependencies": "", "hidden": 0, "is_query_report": 0, - "label": "Program Enrollment", + "label": "Assessment Group", "link_count": 0, - "link_to": "Program Enrollment", + "link_to": "Assessment Group", "link_type": "DocType", "onboard": 0, "type": "Link" }, { - "dependencies": "", "hidden": 0, "is_query_report": 0, - "label": "Course Enrollment", + "label": "Assessment Result", "link_count": 0, - "link_to": "Course Enrollment", + "link_to": "Assessment Result", "link_type": "DocType", "onboard": 0, "type": "Link" @@ -297,103 +352,97 @@ { "hidden": 0, "is_query_report": 0, - "label": "Fees", + "label": "Grading Scale", "link_count": 0, + "link_to": "Grading Scale", + "link_type": "DocType", "onboard": 0, - "type": "Card Break" + "type": "Link" }, { - "dependencies": "", "hidden": 0, "is_query_report": 0, - "label": "Fee Structure", - "link_count": 0, - "link_to": "Fee Structure", + "label": "Fee Management", + "link_count": 5, "link_type": "DocType", "onboard": 0, - "type": "Link" + "type": "Card Break" }, { - "dependencies": "", "hidden": 0, "is_query_report": 0, - "label": "Fee Category", + "label": "Fees", "link_count": 0, - "link_to": "Fee Category", + "link_to": "Fees", "link_type": "DocType", "onboard": 0, "type": "Link" }, { - "dependencies": "", "hidden": 0, "is_query_report": 0, - "label": "Fee Schedule", + "label": "Fee Structure", "link_count": 0, - "link_to": "Fee Schedule", + "link_to": "Fee Structure", "link_type": "DocType", "onboard": 0, "type": "Link" }, { - "dependencies": "", "hidden": 0, "is_query_report": 0, - "label": "Fees", + "label": "Fee Category", "link_count": 0, - "link_to": "Fees", + "link_to": "Fee Category", "link_type": "DocType", "onboard": 0, "type": "Link" }, { - "dependencies": "Fees", "hidden": 0, - "is_query_report": 1, - "label": "Student Fee Collection Report", + "is_query_report": 0, + "label": "Sales Invoice", "link_count": 0, - "link_to": "Student Fee Collection", - "link_type": "Report", + "link_to": "Sales Invoice", + "link_type": "DocType", "onboard": 0, "type": "Link" }, { - "dependencies": "Fees", "hidden": 0, - "is_query_report": 1, - "label": "Program wise Fee Collection Report", + "is_query_report": 0, + "label": "Sales Order", "link_count": 0, - "link_to": "Program wise Fee Collection", - "link_type": "Report", + "link_to": "Sales Order", + "link_type": "DocType", "onboard": 0, "type": "Link" }, { "hidden": 0, "is_query_report": 0, - "label": "Schedule", - "link_count": 0, + "label": "Attendance", + "link_count": 2, + "link_type": "DocType", "onboard": 0, "type": "Card Break" }, { - "dependencies": "", "hidden": 0, "is_query_report": 0, - "label": "Course Schedule", + "label": "Student Attendance", "link_count": 0, - "link_to": "Course Schedule", + "link_to": "Student Attendance", "link_type": "DocType", "onboard": 0, "type": "Link" }, { - "dependencies": "", "hidden": 0, "is_query_report": 0, - "label": "Course Scheduling Tool", + "label": "Student Leave Application", "link_count": 0, - "link_to": "Course Scheduling Tool", + "link_to": "Student Leave Application", "link_type": "DocType", "onboard": 0, "type": "Link" @@ -401,95 +450,97 @@ { "hidden": 0, "is_query_report": 0, - "label": "Attendance", - "link_count": 0, + "label": "Tools", + "link_count": 6, + "link_type": "DocType", "onboard": 0, "type": "Card Break" }, { - "dependencies": "", "hidden": 0, "is_query_report": 0, - "label": "Student Attendance", + "label": "Program Enrollment", "link_count": 0, - "link_to": "Student Attendance", + "link_to": "Program Enrollment Tool", "link_type": "DocType", "onboard": 0, "type": "Link" }, { - "dependencies": "", "hidden": 0, "is_query_report": 0, - "label": "Student Leave Application", + "label": "Student Group Creation Tool", "link_count": 0, - "link_to": "Student Leave Application", + "link_to": "Student Group Creation Tool", "link_type": "DocType", "onboard": 0, "type": "Link" }, { - "dependencies": "Student Attendance", "hidden": 0, - "is_query_report": 1, - "label": "Student Monthly Attendance Sheet", + "is_query_report": 0, + "label": "Student Attendance Tool", "link_count": 0, - "link_to": "Student Monthly Attendance Sheet", - "link_type": "Report", + "link_to": "Student Attendance Tool", + "link_type": "DocType", "onboard": 0, "type": "Link" }, { - "dependencies": "Student Attendance", "hidden": 0, - "is_query_report": 1, - "label": "Absent Student Report", + "is_query_report": 0, + "label": "Student Report Generation Tool", "link_count": 0, - "link_to": "Absent Student Report", - "link_type": "Report", + "link_to": "Student Report Generation Tool", + "link_type": "DocType", "onboard": 0, "type": "Link" }, { - "dependencies": "Student Attendance", "hidden": 0, - "is_query_report": 1, - "label": "Student Batch-Wise Attendance", + "is_query_report": 0, + "label": "Assessment Result Tool", "link_count": 0, - "link_to": "Student Batch-Wise Attendance", - "link_type": "Report", + "link_to": "Assessment Result Tool", + "link_type": "DocType", "onboard": 0, "type": "Link" }, { - "dependencies": "", "hidden": 0, "is_query_report": 0, - "label": "Course Enrollment", + "label": "Course Scheduling Tool", "link_count": 0, - "link_to": "Course Enrollment", + "link_to": "Course Scheduling Tool", "link_type": "DocType", "onboard": 0, "type": "Link" }, { - "dependencies": "", "hidden": 0, "is_query_report": 0, - "label": "Course Activity", + "label": "Setup", + "link_count": 2, + "link_type": "DocType", + "onboard": 0, + "type": "Card Break" + }, + { + "hidden": 0, + "is_query_report": 0, + "label": "Instructor", "link_count": 0, - "link_to": "Course Activity", + "link_to": "Instructor", "link_type": "DocType", "onboard": 0, "type": "Link" }, { - "dependencies": "", "hidden": 0, "is_query_report": 0, - "label": "Quiz Activity", + "label": "Room", "link_count": 0, - "link_to": "Quiz Activity", + "link_to": "Room", "link_type": "DocType", "onboard": 0, "type": "Link" @@ -497,29 +548,38 @@ { "hidden": 0, "is_query_report": 0, - "label": "Assessment", - "link_count": 0, + "label": "Settings", + "link_count": 1, + "link_type": "DocType", "onboard": 0, "type": "Card Break" }, { - "dependencies": "", "hidden": 0, "is_query_report": 0, - "label": "Assessment Plan", + "label": "Education Settings", "link_count": 0, - "link_to": "Assessment Plan", + "link_to": "Education Settings", "link_type": "DocType", "onboard": 0, "type": "Link" }, + { + "hidden": 0, + "is_query_report": 0, + "label": "Content Masters", + "link_count": 3, + "link_type": "DocType", + "onboard": 0, + "type": "Card Break" + }, { "dependencies": "", "hidden": 0, "is_query_report": 0, - "label": "Assessment Group", + "label": "Article", "link_count": 0, - "link_to": "Assessment Group", + "link_to": "Article", "link_type": "DocType", "onboard": 0, "type": "Link" @@ -528,9 +588,9 @@ "dependencies": "", "hidden": 0, "is_query_report": 0, - "label": "Assessment Result", + "label": "Video", "link_count": 0, - "link_to": "Assessment Result", + "link_to": "Video", "link_type": "DocType", "onboard": 0, "type": "Link" @@ -539,9 +599,9 @@ "dependencies": "", "hidden": 0, "is_query_report": 0, - "label": "Assessment Criteria", + "label": "Quiz", "link_count": 0, - "link_to": "Assessment Criteria", + "link_to": "Quiz", "link_type": "DocType", "onboard": 0, "type": "Link" @@ -549,114 +609,129 @@ { "hidden": 0, "is_query_report": 0, - "label": "Assessment Reports", - "link_count": 0, + "label": "Fee Reports", + "link_count": 2, + "link_type": "DocType", "onboard": 0, "type": "Card Break" }, { - "dependencies": "Assessment Result", "hidden": 0, "is_query_report": 1, - "label": "Course wise Assessment Report", + "label": "Student Fee Collection", "link_count": 0, - "link_to": "Course wise Assessment Report", + "link_to": "Student Fee Collection", "link_type": "Report", "onboard": 0, "type": "Link" }, { - "dependencies": "Assessment Result", "hidden": 0, - "is_query_report": 1, - "label": "Final Assessment Grades", + "is_query_report": 0, + "label": "Program wise Fee Collection", "link_count": 0, - "link_to": "Final Assessment Grades", + "link_to": "Program wise Fee Collection", "link_type": "Report", "onboard": 0, + "report_ref_doctype": "Fees", "type": "Link" }, { - "dependencies": "Assessment Plan", + "hidden": 0, + "is_query_report": 0, + "label": "Attendance Reports", + "link_count": 3, + "link_type": "DocType", + "onboard": 0, + "type": "Card Break" + }, + { "hidden": 0, "is_query_report": 1, - "label": "Assessment Plan Status", + "label": "Absent Student Report", "link_count": 0, - "link_to": "Assessment Plan Status", + "link_to": "Absent Student Report", "link_type": "Report", "onboard": 0, "type": "Link" }, { - "dependencies": "", "hidden": 0, "is_query_report": 0, - "label": "Student Report Generation Tool", + "label": "Student Monthly Attendance Sheet", "link_count": 0, - "link_to": "Student Report Generation Tool", - "link_type": "DocType", + "link_to": "Student Monthly Attendance Sheet", + "link_type": "Report", "onboard": 0, + "report_ref_doctype": "Student Attendance", "type": "Link" }, { "hidden": 0, "is_query_report": 0, - "label": "Tools", + "label": "Student Batch-Wise Attendance", "link_count": 0, + "link_to": "Student Batch-Wise Attendance", + "link_type": "Report", + "onboard": 0, + "report_ref_doctype": "Student Attendance", + "type": "Link" + }, + { + "hidden": 0, + "is_query_report": 0, + "label": "Academics", + "link_count": 7, + "link_type": "DocType", "onboard": 0, "type": "Card Break" }, { - "dependencies": "", "hidden": 0, "is_query_report": 0, - "label": "Student Attendance Tool", + "label": "Academic Year", "link_count": 0, - "link_to": "Student Attendance Tool", + "link_to": "Academic Year", "link_type": "DocType", "onboard": 0, "type": "Link" }, { - "dependencies": "", "hidden": 0, "is_query_report": 0, - "label": "Assessment Result Tool", + "label": "Academic Term", "link_count": 0, - "link_to": "Assessment Result Tool", + "link_to": "Academic Term", "link_type": "DocType", "onboard": 0, "type": "Link" }, { - "dependencies": "", "hidden": 0, "is_query_report": 0, - "label": "Student Group Creation Tool", + "label": "Program", "link_count": 0, - "link_to": "Student Group Creation Tool", + "link_to": "Program", "link_type": "DocType", "onboard": 0, "type": "Link" }, { - "dependencies": "", "hidden": 0, "is_query_report": 0, - "label": "Program Enrollment Tool", + "label": "Course", "link_count": 0, - "link_to": "Program Enrollment Tool", + "link_to": "Course", "link_type": "DocType", "onboard": 0, "type": "Link" }, { - "dependencies": "", "hidden": 0, "is_query_report": 0, - "label": "Course Scheduling Tool", + "label": "Topic", "link_count": 0, - "link_to": "Course Scheduling Tool", + "link_to": "Topic", "link_type": "DocType", "onboard": 0, "type": "Link" @@ -664,24 +739,25 @@ { "hidden": 0, "is_query_report": 0, - "label": "Other Reports", + "label": "Course Schedule", "link_count": 0, + "link_to": "Course Schedule", + "link_type": "DocType", "onboard": 0, - "type": "Card Break" + "type": "Link" }, { - "dependencies": "Program Enrollment", "hidden": 0, - "is_query_report": 1, - "label": "Student and Guardian Contact Details", + "is_query_report": 0, + "label": "Course Activity", "link_count": 0, - "link_to": "Student and Guardian Contact Details", - "link_type": "Report", + "link_to": "Course Activity", + "link_type": "DocType", "onboard": 0, "type": "Link" } ], - "modified": "2024-03-13 16:18:41.360391", + "modified": "2026-03-24 23:52:50.532752", "modified_by": "Administrator", "module": "Education", "name": "Education", @@ -735,6 +811,7 @@ { "label": "Student Monthly Attendance Sheet", "link_to": "Student Monthly Attendance Sheet", + "report_ref_doctype": "Student Attendance", "type": "Report" }, { diff --git a/education/hooks.py b/education/hooks.py index b1cded08..0764632c 100644 --- a/education/hooks.py +++ b/education/hooks.py @@ -13,15 +13,6 @@ required_apps = ["erpnext"] -add_to_apps_screen = [ - { - "name": "education", - "logo": "/assets/education/edu-logo.svg", - "title": "Education", - "route": "/app/education", - "has_permission": "education.api.permissions.has_app_permission", - } -] # Includes in
# ------------------ @@ -44,73 +35,73 @@ website_generators = ["Student Admission"] website_route_rules = [ - {"from_route": "/admissions", "to_route": "Student Admission"}, - {"from_route": "/student-portal/