diff --git a/app/controllers/homework_commons_controller.rb b/app/controllers/homework_commons_controller.rb index d3ece9feb..c0d72e1ee 100644 --- a/app/controllers/homework_commons_controller.rb +++ b/app/controllers/homework_commons_controller.rb @@ -90,13 +90,13 @@ class HomeworkCommonsController < ApplicationController if @homework_type == 4 if @user_course_identity == Course::STUDENT - @homework_commons = @homework_commons.includes(:homework_detail_manual, :homework_group_settings, :shixuns, + @homework_commons = @homework_commons.includes(:homework_detail_manual, :published_settings, :shixuns, student_works: [myshixun: [:games]]) else - @homework_commons = @homework_commons.includes(:homework_detail_manual, :homework_group_settings, :shixuns, :student_works) + @homework_commons = @homework_commons.includes(:homework_detail_manual, :published_settings, :shixuns, :student_works) end else - @homework_commons = @homework_commons.includes(:homework_detail_manual, :homework_group_settings, :homework_detail_group, + @homework_commons = @homework_commons.includes(:homework_detail_manual, :published_settings, :homework_detail_group, :student_works) end end diff --git a/app/models/homework_common.rb b/app/models/homework_common.rb index 74d85e2ae..d67b6e0fd 100644 --- a/app/models/homework_common.rb +++ b/app/models/homework_common.rb @@ -2,6 +2,7 @@ class HomeworkCommon < ApplicationRecord # homework_type 1:普通作业 2:编程作业(弃用) 3:分组作业 4:实训作业 enum homework_type: { normal: 1, program: 2, group: 3, practice: 4 }, _suffix: true has_many :homework_group_settings, dependent: :destroy + has_many :published_settings, -> { group_published }, class_name: "HomeworkGroupSetting" has_many :student_works, -> { where("is_delete != 1") } has_one :homework_detail_manual, dependent: :destroy @@ -78,7 +79,7 @@ class HomeworkCommon < ApplicationRecord def all_works student_works = self.unified_setting ? self.student_works : self.student_works.where(user_id: self.course.students.where( - course_group_id: self.homework_group_settings.group_published.pluck(:course_group_id)). + course_group_id: self.published_settings.pluck(:course_group_id)). pluck(:user_id)) end diff --git a/db/migrate/20190621062948_migrate_course_module_activity.rb b/db/migrate/20190621062948_migrate_course_module_activity.rb new file mode 100644 index 000000000..1fa1ea112 --- /dev/null +++ b/db/migrate/20190621062948_migrate_course_module_activity.rb @@ -0,0 +1,5 @@ +class MigrateCourseModuleActivity < ActiveRecord::Migration[5.2] + def change + CourseModule.where(module_type: 'activity').update_all(hidden: 1) + end +end \ No newline at end of file