作业设置调整

dev_forge
cxt 6 years ago
parent 71231d59a3
commit 2cd891e016

@ -1106,7 +1106,7 @@ class HomeworkCommonsController < ApplicationController
else else
homework.unified_setting = false homework.unified_setting = false
# 创建作业分班设置homework_group_setting # 创建作业分班设置homework_group_setting
create_homework_group_settings(homework) homework.create_homework_group_settings
# 选中的分班设置的发布时间改为当前时间,截止时间改为传的截止时间参数 # 选中的分班设置的发布时间改为当前时间,截止时间改为传的截止时间参数
if params[:detail] if params[:detail]
@ -1142,7 +1142,7 @@ class HomeworkCommonsController < ApplicationController
# 发消息 # 发消息
HomeworkCommonPushNotifyJob.perform_later(homework.id, tiding_group_ids) HomeworkCommonPushNotifyJob.perform_later(homework.id, tiding_group_ids)
else else
create_homework_group_settings(homework) homework.create_homework_group_settings
none_publish_settings = homework.homework_group_settings.where(course_group_id: publish_groups).none_published none_publish_settings = homework.homework_group_settings.where(course_group_id: publish_groups).none_published
if params[:detail] if params[:detail]
@ -1216,7 +1216,7 @@ class HomeworkCommonsController < ApplicationController
# 分组设置 # 分组设置
if !params[:group_ids].blank? if !params[:group_ids].blank?
# 确保之前是统一设置或者有新创建的分班的数据一致性 # 确保之前是统一设置或者有新创建的分班的数据一致性
create_homework_group_settings(homework) homework.create_homework_group_settings
homework.unified_setting = false if homework.unified_setting && end_groups.length != @course.course_groups_count homework.unified_setting = false if homework.unified_setting && end_groups.length != @course.course_groups_count
@ -1587,15 +1587,6 @@ class HomeworkCommonsController < ApplicationController
end end
def create_homework_group_settings homework
if homework.homework_group_settings.size != @course.course_groups.size
@course.course_groups.where.not(id: homework.homework_group_settings.pluck(:course_group_id)).each do |group|
homework.homework_group_settings << HomeworkGroupSetting.new(course_group_id: group.id, course_id: @course.id,
publish_time: homework.publish_time, end_time: homework.end_time)
end
end
end
def get_new_code_reviews_result homework def get_new_code_reviews_result homework
if homework.code_reviews_new_results? if homework.code_reviews_new_results?
# 获取最新的查询id # 获取最新的查询id

@ -285,6 +285,15 @@ class HomeworkCommon < ApplicationRecord
homework_challenge_settings.find_by(challenge_id: challenge_id)&.score.to_f homework_challenge_settings.find_by(challenge_id: challenge_id)&.score.to_f
end end
def create_homework_group_settings
if homework_group_settings.size != course.course_groups.size
course.course_groups.where.not(id: homework_group_settings.pluck(:course_group_id)).each do |group|
homework_group_settings << HomeworkGroupSetting.new(course_group_id: group.id, course_id: course.id,
publish_time: publish_time, end_time: end_time)
end
end
end
def update_homework_work_score def update_homework_work_score
if unified_setting if unified_setting
works = student_works works = student_works

@ -29,7 +29,7 @@ class UpdateHomeworkSettingService < ApplicationService
else else
raise(Error, "分班发布设置不能为空") if params[:group_settings].blank? raise(Error, "分班发布设置不能为空") if params[:group_settings].blank?
# 创建作业的分班设置 # 创建作业的分班设置
create_homework_group_settings homework homework.create_homework_group_settings
setting_group_ids = [] setting_group_ids = []
@ -81,7 +81,7 @@ class UpdateHomeworkSettingService < ApplicationService
homework.end_time = params[:end_time] homework.end_time = params[:end_time]
elsif !homework.unified_setting elsif !homework.unified_setting
create_homework_group_settings homework homework.create_homework_group_settings
raise(Error, "分班发布设置不能为空") if params[:group_settings].blank? raise(Error, "分班发布设置不能为空") if params[:group_settings].blank?
params[:group_settings].each do |setting| params[:group_settings].each do |setting|
group_settings = HomeworkGroupSetting.where(homework_common_id: homework.id, course_group_id: setting[:group_id]) group_settings = HomeworkGroupSetting.where(homework_common_id: homework.id, course_group_id: setting[:group_id])

Loading…
Cancel
Save