def enroll_students(self):
    """Enrolls students or applicants.

    :param self: Program Enrollment Tool

    This is a copy of ERPNext function meant to allow loading from custom doctypes and frappe.enqueue
    Used in csf_tz.custom_api.enroll_students
    """
    from erpnext.education.api import enroll_student
    total = len(self.students)
    for i, stud in enumerate(self.students):
        frappe.publish_realtime("program_enrollment_tool", dict(progress=[i+1, total]), user=frappe.session.user)
        if stud.student:
            prog_enrollment = frappe.new_doc("Program Enrollment")
            prog_enrollment.student = stud.student
            prog_enrollment.student_name = stud.student_name
            prog_enrollment.program = self.new_program
            prog_enrollment.academic_year = self.new_academic_year
            prog_enrollment.academic_term = self.new_academic_term
            prog_enrollment.student_batch_name = stud.student_batch_name if stud.student_batch_name else self.new_student_batch
            prog_enrollment.save()
        elif stud.student_applicant:
            prog_enrollment = enroll_student(stud.student_applicant)
            prog_enrollment.academic_year = self.academic_year
            prog_enrollment.academic_term = self.academic_term
            prog_enrollment.student_batch_name = stud.student_batch_name if stud.student_batch_name else self.new_student_batch
            prog_enrollment.save()
Esempio n. 2
0
 def enroll_students(self):
     total = len(self.students)
     for i, stud in enumerate(self.students):
         frappe.publish_realtime("program_enrollment_tool",
                                 dict(progress=[i + 1, total]),
                                 user=frappe.session.user)
         if stud.student:
             prog_enrollment = frappe.new_doc("Program Enrollment")
             prog_enrollment.student = stud.student
             prog_enrollment.student_name = stud.student_name
             prog_enrollment.student_category = stud.student_category
             prog_enrollment.program = self.new_program
             prog_enrollment.academic_year = self.new_academic_year
             prog_enrollment.academic_term = self.new_academic_term
             prog_enrollment.student_batch_name = (
                 stud.student_batch_name
                 if stud.student_batch_name else self.new_student_batch)
             prog_enrollment.save()
         elif stud.student_applicant:
             prog_enrollment = enroll_student(stud.student_applicant)
             prog_enrollment.academic_year = self.academic_year
             prog_enrollment.academic_term = self.academic_term
             prog_enrollment.student_batch_name = (
                 stud.student_batch_name
                 if stud.student_batch_name else self.new_student_batch)
             prog_enrollment.save()
     frappe.msgprint(_("{0} Students have been enrolled").format(total))
 def enroll_students(self):
     for stud in self.students:
         if stud.student:
             prog_enrollment = frappe.new_doc("Program Enrollment")
             prog_enrollment.student = stud.student
             prog_enrollment.student_name = stud.student_name
             prog_enrollment.student_batch_name = stud.student_batch_name
             prog_enrollment.program = self.new_program
             prog_enrollment.academic_year = self.new_academic_year
             prog_enrollment.save()
         elif stud.student_applicant:
             prog_enrollment = enroll_student(stud.student_applicant)
             prog_enrollment.academic_year = self.academic_year
             prog_enrollment.save()
     frappe.msgprint("Students have been enrolled.")
Esempio n. 4
0
def enroll_random_student(current_date):
	batch = ["Section-A", "Section-B"]
	random_student = get_random("Student Applicant", {"application_status": "Approved"})
	if random_student:
		enrollment = enroll_student(random_student)
		enrollment.academic_year = get_random("Academic Year")
		enrollment.enrollment_date = current_date
		enrollment.student_batch_name = batch[weighted_choice([9,3])]
		fee_schedule = get_fee_schedule(enrollment.program)
		for fee in fee_schedule:
			enrollment.append("fees", fee)
		enrolled_courses = get_course(enrollment.program)
		for course in enrolled_courses:
			enrollment.append("courses", course)
		enrollment.submit()
		frappe.db.commit()
		assign_student_group(enrollment.student, enrollment.student_name, enrollment.program,
			enrolled_courses, enrollment.student_batch_name)
Esempio n. 5
0
def enroll_random_student(current_date):
	batch = ["Section-A", "Section-B"]
	random_student = get_random("Student Applicant", {"application_status": "Approved"})
	if random_student:
		enrollment = enroll_student(random_student)
		enrollment.academic_year = get_random("Academic Year")
		enrollment.enrollment_date = current_date
		enrollment.student_batch_name = batch[weighted_choice([9,3])]
		fee_schedule = get_fee_schedule(enrollment.program)
		for fee in fee_schedule:
			enrollment.append("fees", fee)
		enrolled_courses = get_course(enrollment.program)
		for course in enrolled_courses:
			enrollment.append("courses", course)
		enrollment.submit()
		frappe.db.commit()
		assign_student_group(enrollment.student, enrollment.student_name, enrollment.program,
			enrolled_courses, enrollment.student_batch_name)