diff --git a/app/controllers/weapps/challenges_controller.rb b/app/controllers/weapps/challenges_controller.rb index 24bd4baeb..e29f16f28 100644 --- a/app/controllers/weapps/challenges_controller.rb +++ b/app/controllers/weapps/challenges_controller.rb @@ -6,10 +6,10 @@ class Weapps::ChallengesController < Weapps::BaseController # 关卡有展示效果 || 选择题 || jupyter实训 || vnc || 隐藏代码窗口 || html+css实训 # @challenge.show_type != -1 || @challenge.st == 1 || @shixun.is_jupyter? || @shixun.vnc || # @shixun.hide_code? || (@shixun.small_mirror_name & ["Css", "Html", "Web"]).present? - play = @shixun.is_jupyter? || @shixun.vnc || + play = @challenge.st == 1 || @shixun.is_jupyter? || @shixun.vnc || @shixun.hide_code? || (@shixun.small_mirror_name & ["Css", "Html", "Web"]).present? - if @challenge.st != 1 && play + if play normal_status(-5, "该关卡暂不支持小程序") else render_ok diff --git a/app/models/course.rb b/app/models/course.rb index f7db61995..14c17cf39 100644 --- a/app/models/course.rb +++ b/app/models/course.rb @@ -387,7 +387,7 @@ class Course < ApplicationRecord end def max_activity_time - course_acts.pluck(:updated_at).max + course_activities.pluck(:updated_at).max end # 课堂作业数 diff --git a/app/services/admins/school_daily_statistic_service.rb b/app/services/admins/school_daily_statistic_service.rb index 64bb97864..5dce40540 100644 --- a/app/services/admins/school_daily_statistic_service.rb +++ b/app/services/admins/school_daily_statistic_service.rb @@ -44,7 +44,7 @@ class Admins::SchoolDailyStatisticService < ApplicationService courses = Course.where(is_delete: 0, school_id: ids).group('school_id') course_map = courses.count - nearly_course_time_map = courses.joins(:course_acts).maximum('course_activities.updated_at') + nearly_course_time_map = courses.joins(:course_activities).maximum('course_activities.updated_at') active_course_map = courses.where(is_end: false).count shixun_map = Shixun.joins(user: :user_extension).where(user_extensions: { identity: :teacher, school_id: ids }) diff --git a/lib/tasks/migrate_course_resource.rake b/lib/tasks/migrate_course_resource.rake index 44e4ef5f4..34d216625 100644 --- a/lib/tasks/migrate_course_resource.rake +++ b/lib/tasks/migrate_course_resource.rake @@ -193,6 +193,16 @@ namespace :migrate_course_resource do target_course = Course.find_by(id: target_id) return if source_course.blank? || target_course.blank? + + # 先把target——course中的老师创建分班权限 + target_course.teachers.each do |member| + if member.teacher_course_groups.blank? + target_course.course_groups.each do |group| + TeacherCourseGroup.create!(course_group_id: group.id, course_id: target_course.id, course_member_id: member&.id, user_id: member&.user_id) + end + end + end + source_course.course_members.where(role: %i[PROFESSOR ASSISTANT_PROFESSOR]).each do |teacher| new_member = target_course.teachers.find_by(user_id: teacher.user_id) unless new_member.present? @@ -210,7 +220,7 @@ namespace :migrate_course_resource do group.course_members.where(role: 4).each do |member| new_member = target_course.students.find_by(user_id: member.user_id) if new_member.present? - new_member.update_column("course_group_id", new_group.id) + new_member.update_attributes(course_group_id: new_group.id) else CourseMember.create!(course_id: target_course.id, course_group_id: new_group.id, user_id: member.user_id, role: member.role) new_user_ids << member.user_id @@ -221,7 +231,7 @@ namespace :migrate_course_resource do group.teacher_course_groups.each do |teacher_group| member = CourseMember.find_by(course_id: target_course.id, user_id: teacher_group.user_id, role: %i[CREATOR PROFESSOR ASSISTANT_PROFESSOR]) - if member.present? + if member.present? && !member.teacher_course_groups.where(course_group_id: new_group.id).exists? TeacherCourseGroup.create!(course_group_id: new_group.id, course_id: target_course.id, course_member_id: member&.id, user_id: member&.user_id) end end @@ -231,7 +241,7 @@ namespace :migrate_course_resource do source_course.students.where(course_group_id: 0).each do |member| new_member = target_course.students.find_by(user_id: member.user_id) if new_member.present? - new_member.update_column("course_group_id", 0) + new_member.update_attributes(course_group_id: 0) else CourseMember.create!(course_id: target_course.id, course_group_id: 0, user_id: member.user_id, role: member.role) user_ids << member.user_id