tree 58e919f0ace9d813a62164b69fc79734baabb712
parent 23d79b70593b4c4134a62b4dc36be24b5a6c98a5
author manqala <dev@manqala.com> 1472916906 +0100
committer Rushabh Mehta <rmehta@gmail.com> 1472916906 +0530

Suggested Changes to School (#6223)

* Linkage of academic term to academic year

* School improvements. Modifications to Academic Term, Assessment, Fees, Student Batch, Student Group. Addition of Grading System.

* Removed Grading System from Assessment and put it on Program

* Removed the field Grading System from Program and added it back to Assessment. Added some validations for dates in controller of Academic Term and Academic Year

* Added validation comparing term start dates with academic year start dates and term end dates with academic year end dates where both are available.

* Renamed Grading System to Grading Structure. Implemented the code in Assessment.js to derive the Grade Code from the result entered for the student. Assumes that result is always a number. Will rename the field result in Results to score.

* Added validation to check if any grade intervals were overlapping when a Grading Structure is being saved.

* Corrections to error in autonaming for Academic Term

* Correction in white_list method get_grade in Assessment. Solves problem with grades not being derived when the score is at the boundaries of a grade interval

* Correction to setup_wizard.py to make sure that creation of academic terms in create_academic_term includes the academic_year which is now mandatory

* Corrections to test_records.json for doctype Academic Term

* Correction of test_records.json in doctype Student Groups

* Correction of test_records.json for doctype Student Group 2

* Correction to test_course_schedule.py in doctype Course Schedule

* More corrections to test_course_schedule.py in doctype Course Schedule

* Corrections to test_course_schedule.py

* Updates to Student DocType. Enrollment date, Nationality

* Linkage of academic term to academic year

* School improvements. Modifications to Academic Term, Assessment, Fees, Student Batch, Student Group. Addition of Grading System.

* Removed Grading System from Assessment and put it on Program

* Removed the field Grading System from Program and added it back to Assessment. Added some validations for dates in controller of Academic Term and Academic Year

* Added validation comparing term start dates with academic year start dates and term end dates with academic year end dates where both are available.

* Renamed Grading System to Grading Structure. Implemented the code in Assessment.js to derive the Grade Code from the result entered for the student. Assumes that result is always a number. Will rename the field result in Results to score.

* Added validation to check if any grade intervals were overlapping when a Grading Structure is being saved.

* Corrections to error in autonaming for Academic Term
