web端的正在签到和历史签到列表

dev_aliyun2
cxt 5 years ago committed by harry
parent dc76395348
commit 56aa27b588

@ -0,0 +1,39 @@
class AttendancesController < ApplicationController
before_action :require_login
before_action :find_course, only: [:index, :student_attendances, :history_attendances]
before_action :find_attendance, except: [:index, :student_attendances, :history_attendances]
before_action :user_course_identity
def index
current_date = Date.current
current_end_time = Time.current.strftime("%H:%M:%S")
if params[:history]
@attendances = @course.course_attendances.where("attendance_date < '#{current_date}' or
(attendance_date = '#{current_date}' and end_time < '#{current_end_time}')")
else
@attendances = @course.course_attendances.where("attendance_date > '#{current_date}' or
(attendance_date = '#{current_date}' and end_time > '#{current_end_time}')")
end
@attendances_count = @attendances.size
@attendances = @attendances.order("attendance_date desc, start_time desc")
@attendances = paginate @attendances.includes(:user, :course_member_attendances)
end
def history_attendances
current_date = Date.current
current_end_time = Time.current.strftime("%H:%M:%S")
@history_attendances = @course.course_attendances.where("attendance_date < '#{current_date}' or
(attendance_date = '#{current_date}' and end_time < '#{current_end_time}')").order("id desc")
@all_history_count = @history_attendances.size
@history_attendances = paginate @history_attendances.includes(:course_member_attendances)
end
private
def find_attendance
@attendance = CourseAttendance.find params[:id]
@course = @attendance.course
end
end

@ -0,0 +1,18 @@
json.attendances @attendances do |attendance|
json.(attendance, :id, :name, :normal_count, :all_count, :mode)
json.author do
user = attendance.user
json.user_name user.real_name
json.user_login user.login
end
json.attendance_date attendance.attendance_date.strftime("%Y-%m-%d")
json.start_time attendance.start_time.strftime("%H:%M")
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
json.attendance_status student_attendance_status(attendance, User.current)
end
end
json.attendances_count @attendances_count

@ -550,6 +550,10 @@ Rails.application.routes.draw do
end
end
resources :attendances, shallow: true do
end
resources :polls, only:[:index,:new,:create] do
collection do
post :publish # 立即发布

Loading…
Cancel
Save