From 9c20368274f1ff54f4d9e67153db42a64db24c97 Mon Sep 17 00:00:00 2001 From: sw <939547590@qq.com> Date: Thu, 17 Sep 2015 16:53:38 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E7=B3=BB=E7=BB=9F=E8=AF=84=E5=88=86?= =?UTF-8?q?=E7=9A=84=E6=97=B6=E5=80=99=E5=AF=B9=E6=88=90=E7=BB=A9=E8=BF=9B?= =?UTF-8?q?=E8=A1=8C=E8=B5=8B=E5=80=BC=202=E3=80=81=E5=8E=BB=E6=8E=89?= =?UTF-8?q?=E9=94=99=E8=AF=AF=E7=9A=84=E7=BC=96=E7=A8=8B=E5=BE=97=E5=88=86?= =?UTF-8?q?=E8=AE=A1=E7=AE=97=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/student_work_controller.rb | 41 ---------------------- app/models/student_work.rb | 1 + config/routes.rb | 2 +- 3 files changed, 2 insertions(+), 42 deletions(-) diff --git a/app/controllers/student_work_controller.rb b/app/controllers/student_work_controller.rb index ffec0a282..d076481d3 100644 --- a/app/controllers/student_work_controller.rb +++ b/app/controllers/student_work_controller.rb @@ -8,7 +8,6 @@ class StudentWorkController < ApplicationController before_filter :member_of_course, :only => [:index, :new, :create, :show, :add_score, :praise_student_work] before_filter :author_of_work, :only => [:edit, :update, :destroy] before_filter :teacher_of_course, :only => [:student_work_absence_penalty, :absence_penalty_list, :evaluation_list] - protect_from_forgery :except => :set_program_score ### def program_test @@ -360,46 +359,6 @@ class StudentWorkController < ApplicationController end end - #设置编程作业得分 - def set_program_score - stundet_work = StudentWork.find_by_id params[:student_work_id] - @course = stundet_work.homework_common.course - student_score_count = 0 - if stundet_work && params[:results] && params[:results].class.to_s == "Array" - homework_common = stundet_work.homework_common - params[:results].each do |result| - homework_tests = homework_common.homework_tests.where("input = '#{result[:input]}' AND output = '#{result[:output]}'") - homework_tests.each do |homework_test| - student_work_test = StudentWorkTest.new - student_work_test.student_work = stundet_work - student_work_test.homework_test = homework_test - student_work_test.result = result[:status] - if student_work_test.result == 0 - student_score_count += 1 - end - student_work_test.error_msg = params[:compile_error_msg] - student_work_test.save! - end - end - unless homework_common.homework_tests.empty? - stundet_work.student_score = student_score_count * 100.0 / homework_common.homework_tests.count - - if stundet_work.teacher_score.nil? - if stundet_work.teaching_asistant_score.nil? - stundet_work.final_score = stundet_work.student_score - else - final_ta_score = BigDecimal.new("#{stundet_work.teaching_asistant_score}") * BigDecimal.new("#{homework_common.homework_detail_programing.ta_proportion}") - final_s_score = BigDecimal.new("#{stundet_work.student_score}") * (BigDecimal.new('1.0') - BigDecimal.new("#{homework_common.homework_detail_programing.ta_proportion}")) - final_score = final_ta_score + final_s_score - stundet_work.final_score = format("%.1f",final_score.to_f) - end - end - - stundet_work.save! - end - end - end - private #获取作业 def find_homework diff --git a/app/models/student_work.rb b/app/models/student_work.rb index 0a5c1b65c..83a701f43 100644 --- a/app/models/student_work.rb +++ b/app/models/student_work.rb @@ -31,6 +31,7 @@ class StudentWork < ActiveRecord::Base else self.system_score = last_test.test_score end + self.final_score = self.system_score end end diff --git a/config/routes.rb b/config/routes.rb index 1d2393764..96b193862 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -119,7 +119,7 @@ RedmineApp::Application.routes.draw do get 'student_work_absence_penalty' get 'absence_penalty_list' get 'evaluation_list' - post 'set_program_score' + # post 'set_program_score' post 'program_test' end end