Exemple #1
0
def _make_subtotal(students, subjects, from_date: date, to_date: date):
    avg_marks = []
    for subj in subjects:
        # avg_marks.append(for_subj_marks_group(students, subj, from_date, to_date))
        avg_marks.append(avg_marks_group(students, subj, from_date, to_date))
    return tStudentRow(
        # student=student,
        avg_marks=avg_marks,
        attendance=get_attendance_stats(
            StudentAttendance.objects.filter(
                student_id__in=students_to_ids(students),
                attendance__date__gte=from_date,
                attendance__date__lte=to_date,
            )
        ),
        total_reprimands=len(
            Penalty.objects.filter(
                student_id__in=students_to_ids(students),
                type="reprimand",
                attendance__date__gte=from_date,
                attendance__date__lte=to_date,
            )
        ),
        total_promotions=len(
            Penalty.objects.filter(
                student_id__in=students_to_ids(students),
                type="promotion",
                attendance__date__gte=from_date,
                attendance__date__lte=to_date,
            )
        ),
    )
Exemple #2
0
def _make_squad_total(students, subjects):
    return tStudentRow(
        avg_marks=[avg_marks_group(students, subj) for subj in subjects],
        attendance=get_attendance_stats(
            StudentAttendance.objects.filter(
                student_id__in=students_to_ids(students))),
    )