From 19e8bd22214a8d1744026a10da6d0aa6cec4ff76 Mon Sep 17 00:00:00 2001 From: Neil Trini Lasrado Date: Thu, 1 Dec 2016 13:28:21 +0530 Subject: [PATCH] renamed 'active' in Student Batch to 'enabled' --- .../schools/doctype/assessment/assessment.js | 90 +++---- .../schools/doctype/assessment/assessment.py | 4 - .../course_schedule/course_schedule.js | 247 +++++++++--------- .../course_schedule/course_schedule.py | 4 - .../course_scheduling_tool.js | 30 +-- .../student_attendance/student_attendance.js | 14 +- .../student_attendance/student_attendance.py | 4 - .../doctype/student_batch/student_batch.json | 4 +- .../doctype/student_batch/student_batch.py | 5 - .../student_batch_attendance_tool.js | 228 ++++++++-------- .../doctype/student_group/student_group.js | 64 ++--- .../doctype/student_group/student_group.py | 4 - .../absent_student_report.json | 5 +- .../student_monthly_attendance_sheet.json | 5 +- 14 files changed, 313 insertions(+), 395 deletions(-) diff --git a/erpnext/schools/doctype/assessment/assessment.js b/erpnext/schools/doctype/assessment/assessment.js index 828261a303..e842f41337 100644 --- a/erpnext/schools/doctype/assessment/assessment.js +++ b/erpnext/schools/doctype/assessment/assessment.js @@ -6,56 +6,46 @@ cur_frm.add_fetch("examiner", "instructor_name", "examiner_name"); cur_frm.add_fetch("supervisor", "instructor_name", "supervisor_name"); cur_frm.add_fetch("student", "title", "student_name"); -frappe.ui.form.on("Assessment" ,{ - onload: function(frm){ - cur_frm.set_query("student_batch", function(){ - return{ - "filters": { - "active": 1 - } - }; - }); - }, - - student_group : function(frm) { - frm.set_value("results" ,""); - if (frm.doc.student_group) { - frappe.call({ - method: "erpnext.schools.api.get_student_group_students", - args: { - "student_group": frm.doc.student_group - }, - callback: function(r) { - if (r.message) { - $.each(r.message, function(i, d) { - var row = frappe.model.add_child(cur_frm.doc, "Assessment Result", "results"); - row.student = d.student; - row.student_name = d.student_name; - }); - } - refresh_field("results"); - } - }); - } - } +frappe.ui.form.on("Assessment", { + student_group: function(frm) { + frm.set_value("results", ""); + if (frm.doc.student_group) { + frappe.call({ + method: "erpnext.schools.api.get_student_group_students", + args: { + "student_group": frm.doc.student_group + }, + callback: function(r) { + if (r.message) { + $.each(r.message, function(i, d) { + var row = frappe.model.add_child(cur_frm.doc, "Assessment Result", "results"); + row.student = d.student; + row.student_name = d.student_name; + }); + } + refresh_field("results"); + } + }); + } + } }); -frappe.ui.form.on("Assessment Result" ,{ - result : function(frm, cdt, cdn) { - if(frm.doc.grading_structure){ - var assessment_result = locals[cdt][cdn]; - frappe.call({ - method:"erpnext.schools.doctype.assessment.assessment.get_grade", - args:{ - grading_structure: frm.doc.grading_structure, - result: assessment_result.result - }, - callback: function(r){ - if(r.message){ - frappe.model.set_value(cdt, cdn, 'grade', r.message); - } - } - }); - } - } +frappe.ui.form.on("Assessment Result", { + result: function(frm, cdt, cdn) { + if (frm.doc.grading_structure) { + var assessment_result = locals[cdt][cdn]; + frappe.call({ + method: "erpnext.schools.doctype.assessment.assessment.get_grade", + args: { + grading_structure: frm.doc.grading_structure, + result: assessment_result.result + }, + callback: function(r) { + if (r.message) { + frappe.model.set_value(cdt, cdn, 'grade', r.message); + } + } + }); + } + } }); \ No newline at end of file diff --git a/erpnext/schools/doctype/assessment/assessment.py b/erpnext/schools/doctype/assessment/assessment.py index 95e224c212..003b4276e7 100644 --- a/erpnext/schools/doctype/assessment/assessment.py +++ b/erpnext/schools/doctype/assessment/assessment.py @@ -6,15 +6,11 @@ from __future__ import unicode_literals from frappe.model.document import Document import frappe from frappe import _ -from erpnext.schools.doctype.student_batch.student_batch import validate_active_student_batch class Assessment(Document): def validate(self): self.validate_overlap() - if self.student_batch: - validate_active_student_batch(self.student_batch) - def validate_overlap(self): """Validates overlap for Student Group/Student Batch, Instructor, Room""" diff --git a/erpnext/schools/doctype/course_schedule/course_schedule.js b/erpnext/schools/doctype/course_schedule/course_schedule.js index 18acdb30e0..04a8cdedf2 100644 --- a/erpnext/schools/doctype/course_schedule/course_schedule.js +++ b/erpnext/schools/doctype/course_schedule/course_schedule.js @@ -1,145 +1,134 @@ frappe.provide("schools") -frappe.ui.form.on("Course Schedule" ,{ - onload: function(frm) { - if (frm.doc.from_datetime && frm.doc.to_datetime) { - var from_datetime = moment(frm.doc.from_datetime); - var to_datetime = moment(frm.doc.to_datetime); - frm.doc.schedule_date = from_datetime.format(moment.defaultFormat); - frm.doc.from_time = from_datetime.format("HH:mm:ss"); - frm.doc.to_time = to_datetime.format("HH:mm:ss"); - } - - cur_frm.set_query("student_batch", function(){ - return{ - "filters": { - "active": 1 - } - }; - }); - }, - - refresh :function(frm) { - if(!frm.doc.__islocal && frm.doc.student_group) { - frappe.call({ - method: "erpnext.schools.api.check_attendance_records_exist", - args: { - "course_schedule": frm.doc.name - }, - callback: function(r) { - if(r.message) { - hide_field('attendance'); - frm.events.view_attendance(frm) - } - else { - frappe.call({ - method: "erpnext.schools.api.get_student_group_students", - args: { - "student_group": frm.doc.student_group - }, - callback: function(r) { - if (r.message) { - frm.events.get_students(frm, r.message) - } - } - }); - } - } - }); - } - else { - hide_field('attendance'); - } - }, - - view_attendance: function(frm) { - hide_field('attendance'); - frm.add_custom_button(__("View attendance"), function() { - frappe.route_options = { - course_schedule: frm.doc.name - } - frappe.set_route("List", "Student Attendance"); - }); - }, - - get_students: function(frm, students) { - if(!frm.students_area) { - frm.students_area = $('
') - .appendTo(frm.fields_dict.students_html.wrapper); - } - frm.students_editor = new schools.StudentsEditor(frm, frm.students_area, students) - } +frappe.ui.form.on("Course Schedule", { + onload: function(frm) { + if (frm.doc.from_datetime && frm.doc.to_datetime) { + var from_datetime = moment(frm.doc.from_datetime); + var to_datetime = moment(frm.doc.to_datetime); + frm.doc.schedule_date = from_datetime.format(moment.defaultFormat); + frm.doc.from_time = from_datetime.format("HH:mm:ss"); + frm.doc.to_time = to_datetime.format("HH:mm:ss"); + } + }, + + refresh: function(frm) { + if (!frm.doc.__islocal && frm.doc.student_group) { + frappe.call({ + method: "erpnext.schools.api.check_attendance_records_exist", + args: { + "course_schedule": frm.doc.name + }, + callback: function(r) { + if (r.message) { + hide_field('attendance'); + frm.events.view_attendance(frm) + } else { + frappe.call({ + method: "erpnext.schools.api.get_student_group_students", + args: { + "student_group": frm.doc.student_group + }, + callback: function(r) { + if (r.message) { + frm.events.get_students(frm, r.message) + } + } + }); + } + } + }); + } else { + hide_field('attendance'); + } + }, + + view_attendance: function(frm) { + hide_field('attendance'); + frm.add_custom_button(__("View attendance"), function() { + frappe.route_options = { + course_schedule: frm.doc.name + } + frappe.set_route("List", "Student Attendance"); + }); + }, + + get_students: function(frm, students) { + if (!frm.students_area) { + frm.students_area = $('
') + .appendTo(frm.fields_dict.students_html.wrapper); + } + frm.students_editor = new schools.StudentsEditor(frm, frm.students_area, students) + } }); schools.StudentsEditor = Class.extend({ - init: function(frm, wrapper, students) { - this.wrapper = wrapper; - this.frm = frm; - this.make(frm, students); - }, - make: function(frm, students) { - var me = this; - - $(this.wrapper).empty(); - var student_toolbar = $('

\ + init: function(frm, wrapper, students) { + this.wrapper = wrapper; + this.frm = frm; + this.make(frm, students); + }, + make: function(frm, students) { + var me = this; + + $(this.wrapper).empty(); + var student_toolbar = $('

\ \ \

').appendTo($(this.wrapper)); - student_toolbar.find(".btn-add") - .html(__('Check all')) - .on("click", function() { - $(me.wrapper).find('input[type="checkbox"]').each(function(i, check) { - if(!$(check).is(":checked")) { - check.checked = true; - } - }); - }); + student_toolbar.find(".btn-add") + .html(__('Check all')) + .on("click", function() { + $(me.wrapper).find('input[type="checkbox"]').each(function(i, check) { + if (!$(check).is(":checked")) { + check.checked = true; + } + }); + }); - student_toolbar.find(".btn-remove") - .html(__('Uncheck all')) - .on("click", function() { - $(me.wrapper).find('input[type="checkbox"]').each(function(i, check) { - if($(check).is(":checked")) { - check.checked = false; - } - }); - }); - - student_toolbar.find(".btn-mark-att") - .html(__('Mark Attendence')) - .on("click", function() { - var students_present = []; - var students_absent = []; - $(me.wrapper).find('input[type="checkbox"]').each(function(i, check) { - if($(check).is(":checked")) { - students_present.push(students[i]); - } - else { - students_absent.push(students[i]); - } - }); - frappe.call({ - method: "erpnext.schools.api.mark_attendance", - args: { - "students_present": students_present, - "students_absent": students_absent, - "course_schedule": frm.doc.name - }, - callback: function(r) { - frm.events.view_attendance(frm) - } - }); - }); + student_toolbar.find(".btn-remove") + .html(__('Uncheck all')) + .on("click", function() { + $(me.wrapper).find('input[type="checkbox"]').each(function(i, check) { + if ($(check).is(":checked")) { + check.checked = false; + } + }); + }); - - $.each(students, function(i, m) { - $(repl('
\ + student_toolbar.find(".btn-mark-att") + .html(__('Mark Attendence')) + .on("click", function() { + var students_present = []; + var students_absent = []; + $(me.wrapper).find('input[type="checkbox"]').each(function(i, check) { + if ($(check).is(":checked")) { + students_present.push(students[i]); + } else { + students_absent.push(students[i]); + } + }); + frappe.call({ + method: "erpnext.schools.api.mark_attendance", + args: { + "students_present": students_present, + "students_absent": students_absent, + "course_schedule": frm.doc.name + }, + callback: function(r) { + frm.events.view_attendance(frm) + } + }); + }); + + + $.each(students, function(i, m) { + $(repl('
\
\ \ -
', {student: m.student_name})).appendTo(me.wrapper); - }); - } +
', { student: m.student_name })).appendTo(me.wrapper); + }); + } }) \ No newline at end of file diff --git a/erpnext/schools/doctype/course_schedule/course_schedule.py b/erpnext/schools/doctype/course_schedule/course_schedule.py index e312e9fa53..ec30c62140 100644 --- a/erpnext/schools/doctype/course_schedule/course_schedule.py +++ b/erpnext/schools/doctype/course_schedule/course_schedule.py @@ -6,7 +6,6 @@ from __future__ import unicode_literals import frappe from frappe import _ from frappe.model.document import Document -from erpnext.schools.doctype.student_batch.student_batch import validate_active_student_batch class CourseSchedule(Document): def validate(self): @@ -17,9 +16,6 @@ class CourseSchedule(Document): self.set_student_batch() self.validate_date() self.validate_overlap() - - if self.student_batch: - validate_active_student_batch(self.student_batch) def set_title(self): """Set document Title""" diff --git a/erpnext/schools/doctype/course_scheduling_tool/course_scheduling_tool.js b/erpnext/schools/doctype/course_scheduling_tool/course_scheduling_tool.js index 5ee41d04c6..ea62b8f544 100644 --- a/erpnext/schools/doctype/course_scheduling_tool/course_scheduling_tool.js +++ b/erpnext/schools/doctype/course_scheduling_tool/course_scheduling_tool.js @@ -8,24 +8,14 @@ cur_frm.add_fetch("student_group", "academic_year", "academic_year"); cur_frm.add_fetch("student_group", "academic_term", "academic_term"); frappe.ui.form.on("Course Scheduling Tool", { - - refresh: function(frm) { - frm.disable_save(); - frm.page.set_primary_action(__("Schedule Course"), function() { - frappe.call({ - method: "schedule_course", - doc:frm.doc - }) - }); - }, - - onload: function(frm){ - cur_frm.set_query("student_batch", function(){ - return{ - "filters": { - "active": 1 - } - }; - }); - } + + refresh: function(frm) { + frm.disable_save(); + frm.page.set_primary_action(__("Schedule Course"), function() { + frappe.call({ + method: "schedule_course", + doc: frm.doc + }) + }); + } }); \ No newline at end of file diff --git a/erpnext/schools/doctype/student_attendance/student_attendance.js b/erpnext/schools/doctype/student_attendance/student_attendance.js index 679e05ad89..ec2a0cbf8d 100644 --- a/erpnext/schools/doctype/student_attendance/student_attendance.js +++ b/erpnext/schools/doctype/student_attendance/student_attendance.js @@ -2,16 +2,4 @@ // For license information, please see license.txt cur_frm.add_fetch("course_schedule", "schedule_date", "date"); -cur_frm.add_fetch("course_schedule", "student_batch", "student_batch"); - -frappe.ui.form.on('Student Attendance', { - onload: function(frm){ - cur_frm.set_query("student_batch", function(){ - return{ - "filters": { - "active": 1 - } - }; - }); - } -}); +cur_frm.add_fetch("course_schedule", "student_batch", "student_batch") \ No newline at end of file diff --git a/erpnext/schools/doctype/student_attendance/student_attendance.py b/erpnext/schools/doctype/student_attendance/student_attendance.py index bb7b74af6d..45b3014579 100644 --- a/erpnext/schools/doctype/student_attendance/student_attendance.py +++ b/erpnext/schools/doctype/student_attendance/student_attendance.py @@ -6,7 +6,6 @@ from __future__ import unicode_literals import frappe from frappe.model.document import Document from frappe import _ -from erpnext.schools.doctype.student_batch.student_batch import validate_active_student_batch class StudentAttendance(Document): def validate(self): @@ -14,9 +13,6 @@ class StudentAttendance(Document): self.validate_mandatory() self.validate_duplication() - if self.student_batch: - validate_active_student_batch(self.student_batch) - def validate_date(self): if self.course_schedule: self.date = frappe.db.get_value("Course Schedule", self.course_schedule, "schedule_date") diff --git a/erpnext/schools/doctype/student_batch/student_batch.json b/erpnext/schools/doctype/student_batch/student_batch.json index bdbf5dba43..f571d9d5a6 100644 --- a/erpnext/schools/doctype/student_batch/student_batch.json +++ b/erpnext/schools/doctype/student_batch/student_batch.json @@ -76,7 +76,7 @@ "collapsible": 0, "columns": 0, "default": "1", - "fieldname": "active", + "fieldname": "enabled", "fieldtype": "Check", "hidden": 0, "ignore_user_permissions": 0, @@ -309,7 +309,7 @@ "issingle": 0, "istable": 0, "max_attachments": 0, - "modified": "2016-12-01 12:56:51.727827", + "modified": "2016-12-01 13:18:12.024001", "modified_by": "Administrator", "module": "Schools", "name": "Student Batch", diff --git a/erpnext/schools/doctype/student_batch/student_batch.py b/erpnext/schools/doctype/student_batch/student_batch.py index a1bc3c3690..1a0d799482 100644 --- a/erpnext/schools/doctype/student_batch/student_batch.py +++ b/erpnext/schools/doctype/student_batch/student_batch.py @@ -6,7 +6,6 @@ from __future__ import unicode_literals from frappe.model.document import Document from erpnext.schools.utils import validate_duplicate_student import frappe -from frappe import _ class StudentBatch(Document): def autoname(self): @@ -17,7 +16,3 @@ class StudentBatch(Document): def validate(self): validate_duplicate_student(self.students) - -def validate_active_student_batch(student_batch): - if not frappe.db.get_value("Student Batch", student_batch, "active"): - frappe.throw(_("Student Batch is not Active.")) \ No newline at end of file diff --git a/erpnext/schools/doctype/student_batch_attendance_tool/student_batch_attendance_tool.js b/erpnext/schools/doctype/student_batch_attendance_tool/student_batch_attendance_tool.js index 189361b8a0..6dc9181460 100644 --- a/erpnext/schools/doctype/student_batch_attendance_tool/student_batch_attendance_tool.js +++ b/erpnext/schools/doctype/student_batch_attendance_tool/student_batch_attendance_tool.js @@ -3,136 +3,124 @@ frappe.provide("schools") frappe.ui.form.on('Student Batch Attendance Tool', { - refresh: function(frm) { - frm.disable_save(); - hide_field('attendance'); - }, - - onload: function(frm){ - cur_frm.set_query("student_batch", function(){ - return{ - "filters": { - "active": 1 - } - }; - }); - }, - - student_batch :function(frm) { - if(frm.doc.student_batch && frm.doc.date) { - frappe.call({ - method: "erpnext.schools.api.check_attendance_records_exist", - args: { - "student_batch": frm.doc.student_batch, - "date": frm.doc.date - }, - callback: function(r) { - if(r.message) { - frappe.msgprint("Attendance already marked."); - hide_field('attendance'); - } - else { - frappe.call({ - method: "erpnext.schools.api.get_student_batch_students", - args: { - "student_batch": frm.doc.student_batch - }, - callback: function(r) { - if (r.message) { - unhide_field('attendance'); - frm.events.get_students(frm, r.message) - } - } - }); - } - } - }); - } - }, - - date: function(frm) { - frm.trigger("student_batch"); - }, - - get_students: function(frm, students) { - if(!frm.students_area) { - frm.students_area = $('
') - .appendTo(frm.fields_dict.students_html.wrapper); - } - frm.students_editor = new schools.StudentsEditor(frm, frm.students_area, students) - } + refresh: function(frm) { + frm.disable_save(); + hide_field('attendance'); + }, + + student_batch: function(frm) { + if (frm.doc.student_batch && frm.doc.date) { + frappe.call({ + method: "erpnext.schools.api.check_attendance_records_exist", + args: { + "student_batch": frm.doc.student_batch, + "date": frm.doc.date + }, + callback: function(r) { + if (r.message) { + frappe.msgprint("Attendance already marked."); + hide_field('attendance'); + } else { + frappe.call({ + method: "erpnext.schools.api.get_student_batch_students", + args: { + "student_batch": frm.doc.student_batch + }, + callback: function(r) { + if (r.message) { + unhide_field('attendance'); + frm.events.get_students(frm, r.message) + } + } + }); + } + } + }); + } + }, + + date: function(frm) { + frm.trigger("student_batch"); + }, + + get_students: function(frm, students) { + if (!frm.students_area) { + frm.students_area = $('
') + .appendTo(frm.fields_dict.students_html.wrapper); + } + frm.students_editor = new schools.StudentsEditor(frm, frm.students_area, students) + } }); schools.StudentsEditor = Class.extend({ - init: function(frm, wrapper, students) { - this.wrapper = wrapper; - this.frm = frm; - this.make(frm, students); - }, - make: function(frm, students) { - var me = this; - - $(this.wrapper).empty(); - var student_toolbar = $('

\ + init: function(frm, wrapper, students) { + this.wrapper = wrapper; + this.frm = frm; + this.make(frm, students); + }, + make: function(frm, students) { + var me = this; + + $(this.wrapper).empty(); + var student_toolbar = $('

\ \ \

').appendTo($(this.wrapper)); - student_toolbar.find(".btn-add") - .html(__('Check all')) - .on("click", function() { - $(me.wrapper).find('input[type="checkbox"]').each(function(i, check) { - if(!$(check).is(":checked")) { - check.checked = true; - } - }); - }); + student_toolbar.find(".btn-add") + .html(__('Check all')) + .on("click", function() { + $(me.wrapper).find('input[type="checkbox"]').each(function(i, check) { + if (!$(check).is(":checked")) { + check.checked = true; + } + }); + }); - student_toolbar.find(".btn-remove") - .html(__('Uncheck all')) - .on("click", function() { - $(me.wrapper).find('input[type="checkbox"]').each(function(i, check) { - if($(check).is(":checked")) { - check.checked = false; - } - }); - }); - - student_toolbar.find(".btn-mark-att") - .html(__('Mark Attendence')) - .on("click", function() { - var students_present = []; - var students_absent = []; - $(me.wrapper).find('input[type="checkbox"]').each(function(i, check) { - if($(check).is(":checked")) { - students_present.push(students[i]); - } - else { - students_absent.push(students[i]); - } - }); - frappe.call({ - method: "erpnext.schools.api.mark_attendance", - args: { - "students_present": students_present, - "students_absent": students_absent, - "student_batch": frm.doc.student_batch, - "date": frm.doc.date - }, - callback: function(r) { - hide_field('attendance'); - } - }); - }); + student_toolbar.find(".btn-remove") + .html(__('Uncheck all')) + .on("click", function() { + $(me.wrapper).find('input[type="checkbox"]').each(function(i, check) { + if ($(check).is(":checked")) { + check.checked = false; + } + }); + }); - - $.each(students, function(i, m) { - $(repl('
\ + student_toolbar.find(".btn-mark-att") + .html(__('Mark Attendence')) + .on("click", function() { + var students_present = []; + var students_absent = []; + $(me.wrapper).find('input[type="checkbox"]').each(function(i, check) { + if ($(check).is(":checked")) { + students_present.push(students[i]); + } else { + students_absent.push(students[i]); + } + }); + frappe.call({ + method: "erpnext.schools.api.mark_attendance", + args: { + "students_present": students_present, + "students_absent": students_absent, + "student_batch": frm.doc.student_batch, + "date": frm.doc.date + }, + callback: function(r) { + hide_field('attendance'); + } + }); + }); + + + $.each(students, function(i, m) { + $(repl('
\
\ \ -
', {student: m.student_name})).appendTo(me.wrapper); - }); - } -}); +
', { student: m.student_name })).appendTo(me.wrapper); + }); + } +}); \ No newline at end of file diff --git a/erpnext/schools/doctype/student_group/student_group.js b/erpnext/schools/doctype/student_group/student_group.js index 1a3c6828a1..6f4084be25 100644 --- a/erpnext/schools/doctype/student_group/student_group.js +++ b/erpnext/schools/doctype/student_group/student_group.js @@ -1,44 +1,36 @@ cur_frm.add_fetch("student", "title", "student_name"); frappe.ui.form.on("Student Group", { - refresh: function(frm) { - if(!frm.doc.__islocal) { - frm.add_custom_button(__("Course Schedule"), function() { - frappe.route_options = { - student_group: frm.doc.name - } - frappe.set_route("List", "Course Schedule"); - }); - - frm.add_custom_button(__("Assessment"), function() { - frappe.route_options = { - student_group: frm.doc.name - } - frappe.set_route("List", "Assessment"); - }); - } - }, - - onload: function(frm){ - cur_frm.set_query("academic_term",function(){ - return{ - "filters":{ - "academic_year": (frm.doc.academic_year) - } - }; - }); - - cur_frm.set_query("student_batch", function(){ - return{ - "filters": { - "active": 1 - } - }; - }); - } + refresh: function(frm) { + if (!frm.doc.__islocal) { + frm.add_custom_button(__("Course Schedule"), function() { + frappe.route_options = { + student_group: frm.doc.name + } + frappe.set_route("List", "Course Schedule"); + }); + + frm.add_custom_button(__("Assessment"), function() { + frappe.route_options = { + student_group: frm.doc.name + } + frappe.set_route("List", "Assessment"); + }); + } + }, + + onload: function(frm) { + cur_frm.set_query("academic_term", function() { + return { + "filters": { + "academic_year": (frm.doc.academic_year) + } + }; + }); + } }); //If Student Batch is entered, deduce program, academic_year and academic term from it cur_frm.add_fetch("student_batch", "program", "program"); cur_frm.add_fetch("student_batch", "academic_term", "academic_term"); -cur_frm.add_fetch("student_batch", "academic_year", "academic_year"); +cur_frm.add_fetch("student_batch", "academic_year", "academic_year"); \ No newline at end of file diff --git a/erpnext/schools/doctype/student_group/student_group.py b/erpnext/schools/doctype/student_group/student_group.py index bfb2da7fad..f60477392c 100644 --- a/erpnext/schools/doctype/student_group/student_group.py +++ b/erpnext/schools/doctype/student_group/student_group.py @@ -7,7 +7,6 @@ import frappe from frappe.model.document import Document from frappe import _ from erpnext.schools.utils import validate_duplicate_student -from erpnext.schools.doctype.student_batch.student_batch import validate_active_student_batch class StudentGroup(Document): def autoname(self): @@ -31,9 +30,6 @@ class StudentGroup(Document): self.validate_strength() self.validate_student_name() validate_duplicate_student(self.students) - - if self.student_batch: - validate_active_student_batch(self.student_batch) def validate_strength(self): if self.max_strength and len(self.students) > self.max_strength: diff --git a/erpnext/schools/report/absent_student_report/absent_student_report.json b/erpnext/schools/report/absent_student_report/absent_student_report.json index 26989d197b..5f3ca7111a 100644 --- a/erpnext/schools/report/absent_student_report/absent_student_report.json +++ b/erpnext/schools/report/absent_student_report/absent_student_report.json @@ -2,16 +2,17 @@ "add_total_row": 0, "apply_user_permissions": 1, "creation": "2013-05-13 14:04:03", + "disabled": 0, "docstatus": 0, "doctype": "Report", "idx": 1, "is_standard": "Yes", - "modified": "2014-06-03 07:18:17.181332", + "modified": "2016-12-01 14:28:27.184668", "modified_by": "Administrator", "module": "Schools", "name": "Absent Student Report", "owner": "Administrator", - "ref_doctype": "Attendance", + "ref_doctype": "Student Attendance", "report_name": "Absent Student Report", "report_type": "Script Report" } \ No newline at end of file diff --git a/erpnext/schools/report/student_monthly_attendance_sheet/student_monthly_attendance_sheet.json b/erpnext/schools/report/student_monthly_attendance_sheet/student_monthly_attendance_sheet.json index 8fa8b796a4..1d8f4d0a27 100644 --- a/erpnext/schools/report/student_monthly_attendance_sheet/student_monthly_attendance_sheet.json +++ b/erpnext/schools/report/student_monthly_attendance_sheet/student_monthly_attendance_sheet.json @@ -2,16 +2,17 @@ "add_total_row": 0, "apply_user_permissions": 1, "creation": "2013-05-13 14:04:03", + "disabled": 0, "docstatus": 0, "doctype": "Report", "idx": 1, "is_standard": "Yes", - "modified": "2014-06-03 07:18:17.181332", + "modified": "2016-12-01 14:29:53.547378", "modified_by": "Administrator", "module": "Schools", "name": "Student Monthly Attendance Sheet", "owner": "Administrator", - "ref_doctype": "Attendance", + "ref_doctype": "Student Attendance", "report_name": "Student Monthly Attendance Sheet", "report_type": "Script Report" } \ No newline at end of file