课堂增加签到模块

PCqiandao
cxt 5 years ago
parent 09e81ce359
commit e6935b934b

@ -81,6 +81,8 @@ module CoursesHelper
"/classrooms/#{course.id}/statistics" "/classrooms/#{course.id}/statistics"
when "video" when "video"
"/classrooms/#{course.id}/course_videos" "/classrooms/#{course.id}/course_videos"
when "attendance"
"/classrooms/#{course.id}/signin"
end end
end end
@ -156,6 +158,8 @@ module CoursesHelper
course.shixuns.count course.shixuns.count
when "video" when "video"
course.videos_count + course.live_links.count course.videos_count + course.live_links.count
when "attendance"
course.attendances.count
end end
end end

@ -226,7 +226,7 @@ class Course < ApplicationRecord
end end
def all_course_module_types def all_course_module_types
%w[activity announcement online_learning shixun_homework common_homework group_homework exercise attachment course_group graduation poll board statistics video] %w[activity announcement online_learning shixun_homework common_homework group_homework exercise attachment course_group graduation poll board statistics video attendance]
end end
def get_course_module_by_type(type) def get_course_module_by_type(type)
@ -429,6 +429,7 @@ class Course < ApplicationRecord
when 'video' then '视频直播' when 'video' then '视频直播'
when 'board' then '讨论' when 'board' then '讨论'
when 'course_group' then '分班' when 'course_group' then '分班'
when 'attendance' then '签到'
when 'statistics' then '统计' when 'statistics' then '统计'
else '' else ''
end end
@ -449,7 +450,8 @@ class Course < ApplicationRecord
when 'video' then 11 when 'video' then 11
when 'board' then 12 when 'board' then 12
when 'course_group' then 13 when 'course_group' then 13
when 'statistics' then 14 when 'attendance' then 14
when 'statistics' then 15
else 100 else 100
end end
end end

@ -0,0 +1,16 @@
class AddAttendanceToCourseModule < ActiveRecord::Migration[5.2]
def change
Course.all.each do |course|
unless course.course_modules.exists?(module_type: "attendance")
atta_position = course.course_modules.find_by(module_type: 'course_group')&.position.to_i
attendance_position = atta_position != 0 ? (atta_position + 1) : 14
course.course_modules.where("position >= #{attendance_position}").update_all("position = position + 1")
if course.is_end
course.course_modules << CourseModule.new(module_type: "attendance", hidden: 1, module_name: "签到", position: attendance_position)
else
course.course_modules << CourseModule.new(module_type: "attendance", hidden: 0, module_name: "签到", position: attendance_position)
end
end
end
end
end
Loading…
Cancel
Save