签到的调整

courseware
cxt 5 years ago
parent 92804ee277
commit b3089a4d6b

@ -11,6 +11,16 @@ class AttendancesController < ApplicationController
if params[:history]
@attendances = @course.course_attendances.where("attendance_date < '#{current_date}' or
(attendance_date = '#{current_date}' and end_time < '#{current_end_time}')")
if @user_course_identity == Course::STUDENT
member = @course.students.find_by(user_id: current_user.id)
group_ids = [member&.course_group_id.to_i, 0]
@attendances = @attendances.joins(:course_attendance_groups).where(course_attendance_groups: {course_group_id: group_ids})
attendance_ids = @attendances.pluck(:id)
@normal_count = @course.course_member_attendances.where(course_member_id: member&.id, course_attendance_id: attendance_ids, attendance_status: "NORMAL").size
@leave_count = @course.course_member_attendances.where(course_member_id: member&.id, course_attendance_id: attendance_ids, attendance_status: "LEAVE").size
@absence_count = @course.course_member_attendances.where(course_member_id: member&.id, course_attendance_id: attendance_ids, attendance_status: "ABSENCE").size
end
else
@attendances = @course.course_attendances.where("attendance_date > '#{current_date}' or
(attendance_date = '#{current_date}' and end_time > '#{current_end_time}')")
@ -21,6 +31,10 @@ class AttendancesController < ApplicationController
@attendances = paginate @attendances.includes(:user, :course_member_attendances)
end
def statistics
end
def history_attendances
current_date = Date.current
current_end_time = Time.current.strftime("%H:%M:%S")

@ -10,9 +10,15 @@ json.attendances @attendances do |attendance|
json.end_time attendance.end_time.strftime("%H:%M")
json.edit_auth @user_course_identity < Course::PROFESSOR || attendance.user_id == User.current.id
if @user_course_identity < Course::PROFESSOR == Course::STUDENT
if @user_course_identity == Course::STUDENT
json.attendance_status student_attendance_status(attendance, User.current)
end
end
json.attendances_count @attendances_count
if @user_course_identity == Course::STUDENT
json.normal_count @normal_count
json.leave_count @leave_count
json.absence_count @absence_count
end
Loading…
Cancel
Save