37 lines
1.7 KiB
Python
37 lines
1.7 KiB
Python
import frappe
|
|
from frappe.model.utils.rename_field import rename_field
|
|
|
|
def execute():
|
|
#Rename Grading Structure to Grading Scale
|
|
frappe.rename_doc("DocType", "Grading Structure", "Grading Scale", force=True)
|
|
frappe.rename_doc("DocType", "Grade Interval", "Grading Scale Interval", force=True)
|
|
|
|
frappe.reload_doc("schools", "doctype", "grading_scale_interval")
|
|
rename_field("Grading Scale Interval", "to_score", "threshold")
|
|
|
|
frappe.rename_doc("DocType", "Assessment", "Assessment Plan", force=True)
|
|
|
|
#Rename Assessment Results
|
|
frappe.reload_doc("schools", "doctype", "assessment_plan")
|
|
rename_field("Assessment Plan", "grading_structure", "grading_scale")
|
|
|
|
frappe.reload_doc("schools", "doctype", "assessment_result")
|
|
frappe.reload_doc("schools", "doctype", "assessment_result_detail")
|
|
frappe.reload_doc("schools", "doctype", "assessment_criteria")
|
|
|
|
|
|
for assessment in frappe.get_all("Assessment Plan", fields=["name", "grading_scale"], filters = [["docstatus", "!=", 2 ]]):
|
|
print assessment
|
|
for stud_result in frappe.db.sql("select * from `tabAssessment Result` where parent= %s", assessment.name, as_dict=True):
|
|
if stud_result.result:
|
|
assessment_result = frappe.new_doc("Assessment Result")
|
|
assessment_result.student = stud_result.student
|
|
assessment_result.student_name = stud_result.student_name
|
|
assessment_result.assessment_plan = assessment.name
|
|
assessment_result.grading_scale = assessment.grading_scale
|
|
assessment_result.total_score = stud_result.result
|
|
assessment_result.flags.ignore_validate = True
|
|
assessment_result.flags.ignore_mandatory = True
|
|
assessment_result.save()
|
|
|
|
frappe.db.sql("""delete from `tabAssessment Result` where parent != '' or parent is not null""") |