fix(minor): student attendance tool query fix

This commit is contained in:
Rushabh Mehta 2022-02-26 11:07:44 +05:30
parent 71d33081aa
commit 1e7df5d0c2
4 changed files with 28 additions and 36 deletions

View File

@ -163,16 +163,26 @@ education.StudentsEditor = class StudentsEditor {
); );
}); });
var htmls = students.map(function(student) { // make html grid of students
return frappe.render_template("student_button", { let student_html = '';
student: student.student, for (let student of students) {
student_name: student.student_name, student_html += `<div class="col-sm-3">
group_roll_number: student.group_roll_number, <div class="checkbox">
status: student.status <label>
}) <input
}); type="checkbox"
data-group_roll_number="${student.group_roll_number}"
data-student="${student.student}"
data-student-name="${student.student_name}"
class="students-check"
${student.status==='Present' ? 'checked' : ''}>
${student.group_roll_number} - ${student.student_name}
</label>
</div>
</div>`;
}
$(htmls.join("")).appendTo(me.wrapper); $(student_html).appendTo(me.wrapper);
} }
show_empty_state() { show_empty_state() {

View File

@ -24,24 +24,24 @@ def get_student_attendance_records(based_on, date=None, student_group=None, cour
student_list = frappe.get_all("Student Group Student", fields=["student", "student_name", "group_roll_number"], student_list = frappe.get_all("Student Group Student", fields=["student", "student_name", "group_roll_number"],
filters={"parent": student_group, "active": 1}, order_by= "group_roll_number") filters={"parent": student_group, "active": 1}, order_by= "group_roll_number")
table = frappe.qb.DocType("Student Attendance") StudentAttendance = frappe.qb.DocType("Student Attendance")
if course_schedule: if course_schedule:
student_attendance_list = ( student_attendance_list = (
frappe.qb.from_(table) frappe.qb.from_(StudentAttendance)
.select(table.student, table.status) .select(StudentAttendance.student, StudentAttendance.status)
.where( .where(
(table.course_schedule == course_schedule) (StudentAttendance.course_schedule == course_schedule)
) )
).run(as_dict=True) ).run(as_dict=True)
else: else:
student_attendance_list = ( student_attendance_list = (
frappe.qb.from_(table) frappe.qb.from_(StudentAttendance)
.select(table.student, table.status) .select(StudentAttendance.student, StudentAttendance.status)
.where( .where(
(table.student_group == student_group) (StudentAttendance.student_group == student_group)
& (table.date == date) & (StudentAttendance.date == date)
& (table.course_schedule == "") | (table.course_schedule.isnull()) & ((StudentAttendance.course_schedule == "") | (StudentAttendance.course_schedule.isnull()))
) )
).run(as_dict=True) ).run(as_dict=True)

View File

@ -1,17 +0,0 @@
<div class="col-sm-3">
<div class="checkbox">
<label>
<input
type="checkbox"
data-group_roll_number="{{group_roll_number}}"
data-student="{{student}}"
data-student-name="{{student_name}}"
class="students-check"
{% if status === "Present" %}
checked
{% endif %}
>
{{ group_roll_number }} - {{ student_name }}
</label>
</div>
</div>

View File

@ -16,7 +16,6 @@ import "./templates/item_quick_entry.html";
import "./utils/item_quick_entry"; import "./utils/item_quick_entry";
import "./utils/customer_quick_entry"; import "./utils/customer_quick_entry";
import "./utils/supplier_quick_entry"; import "./utils/supplier_quick_entry";
import "./education/student_button.html";
import "./education/assessment_result_tool.html"; import "./education/assessment_result_tool.html";
import "./call_popup/call_popup"; import "./call_popup/call_popup";
import "./utils/dimension_tree_filter"; import "./utils/dimension_tree_filter";