[minor] Program Enrollment Tool (#15013)
* Make academic term field mandatory * Add disabled field to Student Group * Mandatory check in Education Settings for Academic Term * Fix as per review
This commit is contained in:
parent
d0a2b1619b
commit
1f4c263a63
@ -51,12 +51,12 @@ def enroll_random_student(current_date):
|
|||||||
|
|
||||||
def assign_student_group(student, student_name, program, courses, batch):
|
def assign_student_group(student, student_name, program, courses, batch):
|
||||||
course_list = [d["course"] for d in courses]
|
course_list = [d["course"] for d in courses]
|
||||||
for d in frappe.get_list("Student Group", fields=("name"), filters={"program": program, "course":("in", course_list)}):
|
for d in frappe.get_list("Student Group", fields=("name"), filters={"program": program, "course":("in", course_list), "disabled": 0}):
|
||||||
student_group = frappe.get_doc("Student Group", d.name)
|
student_group = frappe.get_doc("Student Group", d.name)
|
||||||
student_group.append("students", {"student": student, "student_name": student_name,
|
student_group.append("students", {"student": student, "student_name": student_name,
|
||||||
"group_roll_number":len(student_group.students)+1, "active":1})
|
"group_roll_number":len(student_group.students)+1, "active":1})
|
||||||
student_group.save()
|
student_group.save()
|
||||||
student_batch = frappe.get_list("Student Group", fields=("name"), filters={"program": program, "group_based_on":"Batch", "batch":batch})[0]
|
student_batch = frappe.get_list("Student Group", fields=("name"), filters={"program": program, "group_based_on":"Batch", "batch":batch, "disabled": 0})[0]
|
||||||
student_batch_doc = frappe.get_doc("Student Group", student_batch.name)
|
student_batch_doc = frappe.get_doc("Student Group", student_batch.name)
|
||||||
student_batch_doc.append("students", {"student": student, "student_name": student_name,
|
student_batch_doc.append("students", {"student": student, "student_name": student_name,
|
||||||
"group_roll_number":len(student_batch_doc.students)+1, "active":1})
|
"group_roll_number":len(student_batch_doc.students)+1, "active":1})
|
||||||
@ -65,7 +65,7 @@ def assign_student_group(student, student_name, program, courses, batch):
|
|||||||
|
|
||||||
def mark_student_attendance(current_date):
|
def mark_student_attendance(current_date):
|
||||||
status = ["Present", "Absent"]
|
status = ["Present", "Absent"]
|
||||||
for d in frappe.db.get_list("Student Group", filters={"group_based_on": "Batch"}):
|
for d in frappe.db.get_list("Student Group", filters={"group_based_on": "Batch", "disabled": 0}):
|
||||||
students = get_student_group_students(d.name)
|
students = get_student_group_students(d.name)
|
||||||
for stud in students:
|
for stud in students:
|
||||||
make_attendance_records(stud.student, stud.student_name, status[weighted_choice([9,4])], None, d.name, current_date)
|
make_attendance_records(stud.student, stud.student_name, status[weighted_choice([9,4])], None, d.name, current_date)
|
||||||
@ -77,7 +77,7 @@ def make_fees():
|
|||||||
|
|
||||||
def make_assessment_plan(date):
|
def make_assessment_plan(date):
|
||||||
for d in range(1,4):
|
for d in range(1,4):
|
||||||
random_group = get_random("Student Group", {"group_based_on": "Course"}, True)
|
random_group = get_random("Student Group", {"group_based_on": "Course", "disabled": 0}, True)
|
||||||
doc = frappe.new_doc("Assessment Plan")
|
doc = frappe.new_doc("Assessment Plan")
|
||||||
doc.student_group = random_group.name
|
doc.student_group = random_group.name
|
||||||
doc.course = random_group.course
|
doc.course = random_group.course
|
||||||
|
@ -195,6 +195,38 @@
|
|||||||
"set_only_once": 0,
|
"set_only_once": 0,
|
||||||
"unique": 0
|
"unique": 0
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"allow_bulk_edit": 0,
|
||||||
|
"allow_on_submit": 0,
|
||||||
|
"bold": 0,
|
||||||
|
"collapsible": 0,
|
||||||
|
"columns": 0,
|
||||||
|
"default": "0",
|
||||||
|
"description": "If enabled, field Academic Term will be Mandatory in Program Enrollment Tool.",
|
||||||
|
"fieldname": "academic_term_reqd",
|
||||||
|
"fieldtype": "Check",
|
||||||
|
"hidden": 0,
|
||||||
|
"ignore_user_permissions": 0,
|
||||||
|
"ignore_xss_filter": 0,
|
||||||
|
"in_filter": 0,
|
||||||
|
"in_global_search": 0,
|
||||||
|
"in_list_view": 0,
|
||||||
|
"in_standard_filter": 0,
|
||||||
|
"label": "Make Academic Term Mandatory",
|
||||||
|
"length": 0,
|
||||||
|
"no_copy": 0,
|
||||||
|
"permlevel": 0,
|
||||||
|
"precision": "",
|
||||||
|
"print_hide": 0,
|
||||||
|
"print_hide_if_no_value": 0,
|
||||||
|
"read_only": 0,
|
||||||
|
"remember_last_selected_value": 0,
|
||||||
|
"report_hide": 0,
|
||||||
|
"reqd": 0,
|
||||||
|
"search_index": 0,
|
||||||
|
"set_only_once": 0,
|
||||||
|
"unique": 0
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"allow_bulk_edit": 0,
|
"allow_bulk_edit": 0,
|
||||||
"allow_on_submit": 0,
|
"allow_on_submit": 0,
|
||||||
@ -267,7 +299,7 @@
|
|||||||
"issingle": 1,
|
"issingle": 1,
|
||||||
"istable": 0,
|
"istable": 0,
|
||||||
"max_attachments": 0,
|
"max_attachments": 0,
|
||||||
"modified": "2017-11-28 15:45:30.324324",
|
"modified": "2018-07-26 04:43:35.406690",
|
||||||
"modified_by": "Administrator",
|
"modified_by": "Administrator",
|
||||||
"module": "Education",
|
"module": "Education",
|
||||||
"name": "Education Settings",
|
"name": "Education Settings",
|
||||||
|
@ -31,7 +31,8 @@ frappe.ui.form.on('Fee Schedule', {
|
|||||||
return {
|
return {
|
||||||
"program": frm.doc.program,
|
"program": frm.doc.program,
|
||||||
"academic_term": frm.doc.academic_term,
|
"academic_term": frm.doc.academic_term,
|
||||||
"academic_year": frm.doc.academic_year
|
"academic_year": frm.doc.academic_year,
|
||||||
|
"disabled": 0
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
frappe.realtime.on("fee_schedule_progress", function(data) {
|
frappe.realtime.on("fee_schedule_progress", function(data) {
|
||||||
|
@ -671,7 +671,7 @@
|
|||||||
"istable": 0,
|
"istable": 0,
|
||||||
"max_attachments": 0,
|
"max_attachments": 0,
|
||||||
"menu_index": 0,
|
"menu_index": 0,
|
||||||
"modified": "2017-12-27 10:59:36.838548",
|
"modified": "2018-07-26 04:44:03.781418",
|
||||||
"modified_by": "Administrator",
|
"modified_by": "Administrator",
|
||||||
"module": "Education",
|
"module": "Education",
|
||||||
"name": "Program Enrollment",
|
"name": "Program Enrollment",
|
||||||
|
@ -86,7 +86,6 @@ def get_program_courses(doctype, txt, searchfield, start, page_len, filters):
|
|||||||
"program": filters['program']
|
"program": filters['program']
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
@frappe.whitelist()
|
@frappe.whitelist()
|
||||||
def get_students(doctype, txt, searchfield, start, page_len, filters):
|
def get_students(doctype, txt, searchfield, start, page_len, filters):
|
||||||
if not filters.get("academic_term"):
|
if not filters.get("academic_term"):
|
||||||
|
@ -5,6 +5,9 @@ frappe.ui.form.on("Program Enrollment Tool", {
|
|||||||
setup: function(frm) {
|
setup: function(frm) {
|
||||||
frm.add_fetch("student", "title", "student_name");
|
frm.add_fetch("student", "title", "student_name");
|
||||||
frm.add_fetch("student_applicant", "title", "student_name");
|
frm.add_fetch("student_applicant", "title", "student_name");
|
||||||
|
if(frm.doc.__onload && frm.doc.__onload.academic_term_reqd) {
|
||||||
|
frm.toggle_reqd("academic_term", true);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
"refresh": function(frm) {
|
"refresh": function(frm) {
|
||||||
|
@ -513,7 +513,7 @@
|
|||||||
"issingle": 1,
|
"issingle": 1,
|
||||||
"istable": 0,
|
"istable": 0,
|
||||||
"max_attachments": 0,
|
"max_attachments": 0,
|
||||||
"modified": "2018-01-02 11:59:40.230689",
|
"modified": "2018-07-26 04:44:13.232146",
|
||||||
"modified_by": "Administrator",
|
"modified_by": "Administrator",
|
||||||
"module": "Education",
|
"module": "Education",
|
||||||
"name": "Program Enrollment Tool",
|
"name": "Program Enrollment Tool",
|
||||||
|
@ -7,8 +7,13 @@ import frappe
|
|||||||
from frappe import _
|
from frappe import _
|
||||||
from frappe.model.document import Document
|
from frappe.model.document import Document
|
||||||
from erpnext.education.api import enroll_student
|
from erpnext.education.api import enroll_student
|
||||||
|
from frappe.utils import cint
|
||||||
|
|
||||||
class ProgramEnrollmentTool(Document):
|
class ProgramEnrollmentTool(Document):
|
||||||
|
def onload(self):
|
||||||
|
academic_term_reqd = cint(frappe.db.get_single_value('Education Settings', 'academic_term_reqd'))
|
||||||
|
self.set_onload("academic_term_reqd", academic_term_reqd)
|
||||||
|
|
||||||
def get_students(self):
|
def get_students(self):
|
||||||
students = []
|
students = []
|
||||||
if not self.get_students_from:
|
if not self.get_students_from:
|
||||||
|
@ -7,7 +7,8 @@ frappe.ui.form.on('Student Attendance Tool', {
|
|||||||
frm.set_query("student_group", function() {
|
frm.set_query("student_group", function() {
|
||||||
return {
|
return {
|
||||||
"filters": {
|
"filters": {
|
||||||
"group_based_on": frm.doc.group_based_on
|
"group_based_on": frm.doc.group_based_on,
|
||||||
|
"disabled": 0
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
@ -293,6 +293,37 @@
|
|||||||
"set_only_once": 0,
|
"set_only_once": 0,
|
||||||
"unique": 0
|
"unique": 0
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"allow_bulk_edit": 0,
|
||||||
|
"allow_on_submit": 0,
|
||||||
|
"bold": 0,
|
||||||
|
"collapsible": 0,
|
||||||
|
"columns": 0,
|
||||||
|
"default": "0",
|
||||||
|
"fieldname": "disabled",
|
||||||
|
"fieldtype": "Check",
|
||||||
|
"hidden": 0,
|
||||||
|
"ignore_user_permissions": 0,
|
||||||
|
"ignore_xss_filter": 0,
|
||||||
|
"in_filter": 0,
|
||||||
|
"in_global_search": 0,
|
||||||
|
"in_list_view": 0,
|
||||||
|
"in_standard_filter": 0,
|
||||||
|
"label": "Disabled",
|
||||||
|
"length": 0,
|
||||||
|
"no_copy": 0,
|
||||||
|
"permlevel": 0,
|
||||||
|
"precision": "",
|
||||||
|
"print_hide": 0,
|
||||||
|
"print_hide_if_no_value": 0,
|
||||||
|
"read_only": 0,
|
||||||
|
"remember_last_selected_value": 0,
|
||||||
|
"report_hide": 0,
|
||||||
|
"reqd": 0,
|
||||||
|
"search_index": 0,
|
||||||
|
"set_only_once": 0,
|
||||||
|
"unique": 0
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"allow_bulk_edit": 0,
|
"allow_bulk_edit": 0,
|
||||||
"allow_on_submit": 0,
|
"allow_on_submit": 0,
|
||||||
@ -459,7 +490,7 @@
|
|||||||
"istable": 0,
|
"istable": 0,
|
||||||
"max_attachments": 0,
|
"max_attachments": 0,
|
||||||
"menu_index": 0,
|
"menu_index": 0,
|
||||||
"modified": "2017-11-10 19:09:37.370864",
|
"modified": "2018-07-26 04:17:10.836912",
|
||||||
"modified_by": "Administrator",
|
"modified_by": "Administrator",
|
||||||
"module": "Education",
|
"module": "Education",
|
||||||
"name": "Student Group",
|
"name": "Student Group",
|
||||||
|
@ -99,7 +99,7 @@ def get_guardian_map(student_list):
|
|||||||
|
|
||||||
def get_student_roll_no(academic_year, program, batch):
|
def get_student_roll_no(academic_year, program, batch):
|
||||||
student_group = frappe.get_all("Student Group",
|
student_group = frappe.get_all("Student Group",
|
||||||
filters={"academic_year":academic_year, "program":program, "batch":batch})
|
filters={"academic_year":academic_year, "program":program, "batch":batch, "disabled": 0})
|
||||||
if student_group:
|
if student_group:
|
||||||
roll_no_dict = dict(frappe.db.sql('''select student, group_roll_number from `tabStudent Group Student` where parent=%s''',
|
roll_no_dict = dict(frappe.db.sql('''select student, group_roll_number from `tabStudent Group Student` where parent=%s''',
|
||||||
(student_group[0].name)))
|
(student_group[0].name)))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user