diff --git a/app/controllers/student_work_controller.rb b/app/controllers/student_work_controller.rb index 9f8d25c7e..17c98e3b1 100644 --- a/app/controllers/student_work_controller.rb +++ b/app/controllers/student_work_controller.rb @@ -14,8 +14,8 @@ class StudentWorkController < ApplicationController def program_test is_test = params[:is_test] == 'true' resultObj = {status: 0, results: [], error_msg: '', time: Time.now.strftime('%Y-%m-%d %T')} - unless is_test - student_work = find_or_save_student_work + + student_work = find_or_save_student_work(is_test) unless student_work resultObj[:status] = 100 @@ -43,24 +43,7 @@ class StudentWorkController < ApplicationController end end - else - if @homework.homework_type == 2 && @homework.homework_detail_programing - result = test_realtime(student_work, params[:src]) - logger.debug result - resultObj[:status] = result["status"] - resultObj[:results] = result["results"] - resultObj[:error_msg] = result["error_msg"] - results = result["results"] - if result["status"].to_i == -2 #编译错误 - results = [result["error_msg"]] - end - - resultObj[:status] = result["status"].to_i - resultObj[:time] = Time.now.strftime('%Y-%m-%d %T') - resultObj[:index] = 0 - end - - end + render :json => resultObj @@ -640,13 +623,14 @@ class StudentWorkController < ApplicationController xls_report.string end - def find_or_save_student_work + def find_or_save_student_work(is_test) student_work = @homework.student_works.where(user_id: User.current.id).first if student_work.nil? @homework.student_works.build( name: params[:title], description: params[:src], - user_id: User.current.id + user_id: User.current.id, + is_test: is_test ) unless @homework.save else diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index 9853130ab..9c6492448 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -401,7 +401,7 @@ class UsersController < ApplicationController homework_detail_programing = HomeworkDetailPrograming.new homework.homework_detail_programing = homework_detail_programing homework_detail_programing.ta_proportion = params[:ta_proportion] || 0.6 - homework_detail_programing.language = params[:program][:language].to_i + homework_detail_programing.language = params[:language_type].to_i inputs = params[:program][:input] if Array === inputs diff --git a/app/models/homework_common.rb b/app/models/homework_common.rb index 1c066495f..b51de6c2c 100644 --- a/app/models/homework_common.rb +++ b/app/models/homework_common.rb @@ -10,7 +10,7 @@ class HomeworkCommon < ActiveRecord::Base has_one :homework_detail_manual, :dependent => :destroy has_one :homework_detail_programing, :dependent => :destroy has_many :homework_tests, :dependent => :destroy - has_many :student_works, :dependent => :destroy + has_many :student_works, :dependent => :destroy, :conditions => "is_test=0" has_many :student_works_evaluation_distributions, :through => :student_works #一个作业的分配的匿评列表 has_many :acts, :class_name => 'Activity', :as => :act, :dependent => :destroy #用户活动 # 课程动态 diff --git a/app/models/student_work.rb b/app/models/student_work.rb index 6e39c954a..d7287dcc4 100644 --- a/app/models/student_work.rb +++ b/app/models/student_work.rb @@ -1,6 +1,6 @@ #学生提交作品表 class StudentWork < ActiveRecord::Base - attr_accessible :name, :description, :homework_common_id, :user_id, :final_score, :teacher_score, :student_score, :teaching_asistant_score, :project_id + attr_accessible :name, :description, :homework_common_id, :user_id, :final_score, :teacher_score, :student_score, :teaching_asistant_score, :project_id, :is_test belongs_to :homework_common belongs_to :user diff --git a/app/views/users/_user_homework_attachment.html.erb b/app/views/users/_user_homework_attachment.html.erb index 00d80dd22..0944ffab6 100644 --- a/app/views/users/_user_homework_attachment.html.erb +++ b/app/views/users/_user_homework_attachment.html.erb @@ -49,6 +49,10 @@ 上传附件 <%= link_to "资源库",{:controller => 'users',:action=>'user_import_resource',:id=>User.current.id,:homework_id=>container.id},:class => "FilesBtn fl mr15 mt3",:remote => true%> + <% if defined?(has_program) && has_program %> + 编程 + + <% end %> <% content_for :header_tags do %> diff --git a/app/views/users/_user_homework_form.html.erb b/app/views/users/_user_homework_form.html.erb index 7be8811a4..72ace3ba5 100644 --- a/app/views/users/_user_homework_form.html.erb +++ b/app/views/users/_user_homework_form.html.erb @@ -1,5 +1,5 @@ <% content_for :header_tags do %> - <%= javascript_include_tag "/assets/kindeditor/kindeditor",'/assets/kindeditor/pasteimg' %> + <%= javascript_include_tag "/assets/kindeditor/kindeditor",'/assets/kindeditor/pasteimg'%> <%= javascript_include_tag 'homework','baiduTemplate' %> <% end %> @@ -40,7 +40,7 @@