test, patch, docs for student admission (#11075)

This commit is contained in:
Manas Solanki 2017-10-09 12:41:24 +05:30 committed by Nabin Hait
parent 5cb6c38a34
commit f91ad75b5a
5 changed files with 47 additions and 11 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 MiB

View File

@ -1,13 +1,14 @@
# Student Admission
The admission process begins with filling the admission form. The Student Admission record enables to intitate your admission process for a given **Academic year**. ERPNext admission module allow you to create an admission record which can be then published on the ERPNext generate website.
The admission process begins with filling the admission form. The Student Admission record enables to initiate your admission process for a given **Academic year**. ERPNext admission module allows you to create an admission record which can be then published on the ERPNext generate website.
To create a Student Admission record go to :
**Schools** >> **Admissions** >> **Student Admission** >>
<img class="screenshot" alt="Student Applicant" src="/docs/assets/img/schools/student/student-admission.gif">
<img class="screenshot" alt="Student Applicant" src="/docs/assets/img/schools/admission/student-admission.gif">
Once an admission record is created, the age eligibility criteria can be determined for the every program. Similarly, you can also determine the application fee and naming series for every student applicant. If you keep the naming series blank then the default naming series will be applied for every student applicant.
Once a admission record is created it can be published on the website and the student can apply from the web portal itself.
The information provided in the Student Admission records will be used for the validation and creation of the Student Admission records (only if student admission link is filled there)

View File

@ -450,3 +450,4 @@ erpnext.patches.v8_9.set_default_fields_in_variant_settings
erpnext.patches.v8_9.update_billing_gstin_for_indian_account
erpnext.patches.v9_0.fix_subscription_next_date
erpnext.patches.v9_0.set_schedule_date_for_material_request_and_purchase_order
erpnext.patches.v9_0.student_admission_childtable_migrate

View File

@ -0,0 +1,28 @@
# Copyright (c) 2017, Frappe and Contributors
# License: GNU General Public License v3. See license.txt
from __future__ import unicode_literals
import frappe
def execute():
frappe.reload_doc('schools', 'doctype', 'Student Admission Program')
frappe.reload_doctype('Student Admission')
if "program" not in frappe.db.get_table_columns("Student Admission"):
return
student_admissions = frappe.get_all("Student Admission", fields=["name", "application_fee", \
"naming_series_for_student_applicant", "program", "introduction", "eligibility"])
for student_admission in student_admissions:
doc = frappe.get_doc("Student Admission", student_admission.name)
doc.append("program_details", {
"program": student_admission.get("program"),
"application_fee": student_admission.get("application_fee"),
"applicant_naming_series": student_admission.get("naming_series_for_student_applicant"),
})
if student_admission.eligibility and student_admission.introduction:
doc.introduction = student_admission.introduction + "<br><div>" + \
student_admission.eligibility + "</div>"
doc.flags.ignore_validate = True
doc.flags.ignore_mandatory = True
doc.save()

View File

@ -11,23 +11,29 @@ QUnit.test('Test: Student Admission', function(assert) {
{admission_start_date: '2016-04-20'},
{admission_end_date: '2016-05-31'},
{title: '2016-17 Admissions'},
{program: 'Standard Test'},
{application_fee: 1000},
{naming_series_for_student_applicant: 'AP'},
{application_form_route: 'student-applicant'},
{introduction: 'Test intro'},
{eligibility: 'Test eligibility'}
{program_details: [
[
{'program': 'Standard Test'},
{'application_fee': 1000},
{'applicant_naming_series': 'AP'},
]
]}
]);
},
() => cur_frm.save(),
() => {
assert.ok(cur_frm.doc.academic_year == '2016-17');
assert.ok(cur_frm.doc.admission_start_date == '2016-04-20');
assert.ok(cur_frm.doc.admission_end_date == '2016-05-31');
assert.ok(cur_frm.doc.title == '2016-17 Admissions');
assert.ok(cur_frm.doc.program == 'Standard Test', 'Program correctly selected');
assert.ok(cur_frm.doc.application_fee == 1000);
assert.ok(cur_frm.doc.naming_series_for_student_applicant == 'AP');
assert.ok(cur_frm.doc.application_form_route == 'student-applicant');
assert.ok(cur_frm.doc.introduction == 'Test intro');
assert.ok(cur_frm.doc.eligibility == 'Test eligibility');
assert.ok(cur_frm.doc.program_details[0].program == 'Standard Test', 'Program correctly selected');
assert.ok(cur_frm.doc.program_details[0].application_fee == 1000);
assert.ok(cur_frm.doc.program_details[0].applicant_naming_series == 'AP');
assert.ok(cur_frm.doc.route == 'admissions/2016-17-Admissions', "Route successfully set");
},
() => done()
]);