From 80ca65c166b65dffc159d7c278e8bc1125c70aed Mon Sep 17 00:00:00 2001 From: Neil Trini Lasrado Date: Mon, 30 Jan 2017 13:28:54 +0530 Subject: [PATCH] Added validation to ensure that the Sum of Scores of evaluation Criteras is equal to the max assessment score. --- .../doctype/assessment_plan/assessment_plan.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/erpnext/schools/doctype/assessment_plan/assessment_plan.py b/erpnext/schools/doctype/assessment_plan/assessment_plan.py index aa84ae342db..1b4b671b877 100644 --- a/erpnext/schools/doctype/assessment_plan/assessment_plan.py +++ b/erpnext/schools/doctype/assessment_plan/assessment_plan.py @@ -13,7 +13,7 @@ class AssessmentPlan(Document): frappe.throw(_("Please select Student Group or Student Batch")) self.validate_student_batch() self.validate_overlap() - + self.validate_max_score() def validate_overlap(self): """Validates overlap for Student Group/Student Batch, Instructor, Room""" @@ -42,4 +42,11 @@ class AssessmentPlan(Document): def validate_student_batch(self): if self.student_group: - self.student_batch = frappe.db.get_value("Student Group", self.student_group, "student_batch") \ No newline at end of file + self.student_batch = frappe.db.get_value("Student Group", self.student_group, "student_batch") + + def validate_max_score(self): + max_score = 0 + for d in self.evaluation_criterias: + max_score += d.maximum_score + if self.maximum_assessment_score != max_score: + frappe.throw(_("Sum of Scores of Evaluation Criterias needs to be {0}.".format(self.maximum_assessment_score))) \ No newline at end of file