diff --git a/app/controllers/homework_commons_controller.rb b/app/controllers/homework_commons_controller.rb index 5d27de7b8..692f813a6 100644 --- a/app/controllers/homework_commons_controller.rb +++ b/app/controllers/homework_commons_controller.rb @@ -572,10 +572,13 @@ class HomeworkCommonsController < ApplicationController if @homework.homework_type == "practice" # 实训作业的评分设置 + tip_exception("总分值不能为空") if params[:total_score].blank? + tip_exception("总分值不能小于0") if params[:total_score].to_i < 0 tip_exception("缺少answer_open_evaluation参数") if params[:answer_open_evaluation].nil? tip_exception("缺少work_efficiency参数") if params[:work_efficiency].nil? tip_exception("缺少eff_score参数") if params[:work_efficiency] && params[:eff_score].blank? tip_exception("效率分不能小于等于0") if params[:eff_score] && params[:eff_score].to_i <= 0 + tip_exception("效率分不能大于总分值") if params[:eff_score] && params[:eff_score].to_i > params[:total_score].to_i tip_exception("缺少shixun_evaluation参数") if params[:shixun_evaluation].blank? tip_exception("缺少challenge_settings参数") if params[:challenge_settings].blank? # tip_exception("缺少challenge_id参数") if params[:challenge_settings][:challenge_id].blank? @@ -584,6 +587,7 @@ class HomeworkCommonsController < ApplicationController # params[:challenge_settings][:challenge_score].length != params[:challenge_settings][:challenge_id].length current_eff_score = @homework.eff_score + @homework.total_score = params[:total_score] @homework.work_efficiency = params[:work_efficiency] @homework.eff_score = params[:work_efficiency] ? params[:eff_score].to_i : 0 diff --git a/app/views/homework_commons/settings.json.jbuilder b/app/views/homework_commons/settings.json.jbuilder index 52e3f1cdf..cf36c6165 100644 --- a/app/views/homework_commons/settings.json.jbuilder +++ b/app/views/homework_commons/settings.json.jbuilder @@ -5,7 +5,7 @@ json.partial! "homework_btn_check", locals: {identity: @user_course_identity, ho json.partial! "student_btn_check", locals: {identity: @user_course_identity, homework: @homework, work: @work} json.(@homework, :unified_setting, :publish_time, :end_time, :late_penalty, :allow_late, :late_time, :work_public, - :score_open, :answer_public) + :score_open, :answer_public, :total_score) json.group_settings @course_groups do |group| json.group_id group.id diff --git a/db/migrate/20191029084344_add_total_score_to_homework_commons.rb b/db/migrate/20191029084344_add_total_score_to_homework_commons.rb new file mode 100644 index 000000000..1fefdde34 --- /dev/null +++ b/db/migrate/20191029084344_add_total_score_to_homework_commons.rb @@ -0,0 +1,5 @@ +class AddTotalScoreToHomeworkCommons < ActiveRecord::Migration[5.2] + def change + add_column :homework_commons, :total_score, :float, default: 100 + end +end