|
|
|
@ -91,15 +91,37 @@ class HomeworkCommonController < ApplicationController
|
|
|
|
|
@homework.end_time = params[:homework_common][:end_time]
|
|
|
|
|
@homework.publish_time = params[:homework_common][:publish_time]
|
|
|
|
|
@homework.homework_type = params[:homework_common][:homework_type]
|
|
|
|
|
@homework.late_penalty = params[:late_penalty]
|
|
|
|
|
unless @homework.late_penalty == params[:late_penalty]
|
|
|
|
|
@homework.student_works.where("late_penalty != 0").each do |student_work|
|
|
|
|
|
student_work.late_penalty = params[:late_penalty]
|
|
|
|
|
student_work.save
|
|
|
|
|
end
|
|
|
|
|
@homework.late_penalty = params[:late_penalty]
|
|
|
|
|
end
|
|
|
|
|
@homework.course_id = @course.id
|
|
|
|
|
|
|
|
|
|
#匿评作业相关属性
|
|
|
|
|
@homework_detail_manual.ta_proportion = params[:ta_proportion] || 0.6
|
|
|
|
|
@homework_detail_manual.evaluation_start = params[:evaluation_start]
|
|
|
|
|
@homework_detail_manual.evaluation_end = params[:evaluation_end]
|
|
|
|
|
@homework_detail_manual.evaluation_num = params[:evaluation_num]
|
|
|
|
|
@homework_detail_manual.absence_penalty = params[:absence_penalty]
|
|
|
|
|
if @homework.homework_type == 1
|
|
|
|
|
@homework_detail_manual.ta_proportion = params[:ta_proportion] || 0.6
|
|
|
|
|
@homework_detail_manual.evaluation_start = params[:evaluation_start]
|
|
|
|
|
@homework_detail_manual.evaluation_end = params[:evaluation_end]
|
|
|
|
|
@homework_detail_manual.evaluation_num = params[:evaluation_num]
|
|
|
|
|
unless @homework_detail_manual.absence_penalty == params[:absence_penalty]
|
|
|
|
|
if @homework_detail_manual.comment_status == 3 #当前作业处于匿评结束状态,修改缺评扣分才会修改每个作品应扣分的值
|
|
|
|
|
@homework.student_works.where("absence_penalty != 0").each do |student_work|
|
|
|
|
|
student_work.absence_penalty = student_work.absence_penalty / @homework_detail_manual.absence_penalty * params[:absence_penalty].to_i
|
|
|
|
|
student_work.save
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
@homework_detail_manual.absence_penalty = params[:absence_penalty]
|
|
|
|
|
end
|
|
|
|
|
else #不是匿评作业,缺评扣分为0分,每个作品的缺评扣分改为0分,防止某些作业在结束匿评之后改为普通作业
|
|
|
|
|
@homework.student_works.where("absence_penalty != 0").each do |student_work|
|
|
|
|
|
student_work.late_penalty = 0
|
|
|
|
|
student_work.save
|
|
|
|
|
end
|
|
|
|
|
@homework_detail_manual.absence_penalty = 0
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
@homework.save_attachments(params[:attachments])
|
|
|
|
|
render_attachment_warning_if_needed(@homework)
|
|
|
|
|