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) {
return frappe.render_template("student_button", {
student: student.student,
student_name: student.student_name,
group_roll_number: student.group_roll_number,
status: student.status
})
});
// make html grid of students
let student_html = '';
for (let student of students) {
student_html += `<div class="col-sm-3">
<div class="checkbox">
<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() {

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"],
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:
student_attendance_list = (
frappe.qb.from_(table)
.select(table.student, table.status)
frappe.qb.from_(StudentAttendance)
.select(StudentAttendance.student, StudentAttendance.status)
.where(
(table.course_schedule == course_schedule)
(StudentAttendance.course_schedule == course_schedule)
)
).run(as_dict=True)
else:
student_attendance_list = (
frappe.qb.from_(table)
.select(table.student, table.status)
frappe.qb.from_(StudentAttendance)
.select(StudentAttendance.student, StudentAttendance.status)
.where(
(table.student_group == student_group)
& (table.date == date)
& (table.course_schedule == "") | (table.course_schedule.isnull())
(StudentAttendance.student_group == student_group)
& (StudentAttendance.date == date)
& ((StudentAttendance.course_schedule == "") | (StudentAttendance.course_schedule.isnull()))
)
).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/customer_quick_entry";
import "./utils/supplier_quick_entry";
import "./education/student_button.html";
import "./education/assessment_result_tool.html";
import "./call_popup/call_popup";
import "./utils/dimension_tree_filter";