From 1d8fdbf8f1fe2841e6a44f740b4ab841ef15ae9f Mon Sep 17 00:00:00 2001 From: guange <8863824@gmail.com> Date: Fri, 28 Aug 2015 15:08:07 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=AF=E4=BB=A5=E6=8F=90=E4=BA=A4=E7=AD=94?= =?UTF-8?q?=E6=A1=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/student_work_controller.rb | 20 +++------------ app/views/student_work/new.html.erb | 20 ++++++++++----- config/configuration.yml | 3 +++ public/javascripts/homework.js | 30 +++++++++++++++++++--- 4 files changed, 48 insertions(+), 25 deletions(-) diff --git a/app/controllers/student_work_controller.rb b/app/controllers/student_work_controller.rb index fb4c39931..9655d49be 100644 --- a/app/controllers/student_work_controller.rb +++ b/app/controllers/student_work_controller.rb @@ -140,7 +140,8 @@ class StudentWorkController < ApplicationController def create if params[:student_work] - stundet_work = StudentWork.new + stundet_work = StudentWork.find(params[:student_work_id]) if params[:student_work_id] + stundet_work ||= StudentWork.new stundet_work.name = params[:student_work][:name] stundet_work.description = params[:student_work][:description] stundet_work.project_id = params[:student_work][:project_id] @@ -156,20 +157,7 @@ class StudentWorkController < ApplicationController if stundet_work.save if @homework.homework_type == 2 && @homework.homework_detail_programing #编程作业,学生提交作品后计算系统得分 - url = "http://192.168.80.21:8080/api/questions/#{@homework.homework_detail_programing.question_id}/solutions.json" - solutions = { - student_work_id:stundet_work.id, - src:Base64.encode64(stundet_work.description), - language:@homework.homework_detail_programing.language - } - uri = URI(url) - body = solutions.to_json - res = Net::HTTP.new(uri.host, uri.port).start do |client| - request = Net::HTTP::Post.new(uri.path) - request.body = body - request["Content-Type"] = "application/json" - client.request(request) - end + end respond_to do |format| format.html { @@ -628,7 +616,7 @@ class StudentWorkController < ApplicationController def test_realtime(student_work, src) - url = "http://192.168.41.130:3000/api/realtime_test.json" + url = "#{Redmine::Configuration['judge_server']}api/realtime_test.json" factor = [] @homework.homework_tests.each do |test| diff --git a/app/views/student_work/new.html.erb b/app/views/student_work/new.html.erb index a7d3332b3..c07e2ea66 100644 --- a/app/views/student_work/new.html.erb +++ b/app/views/student_work/new.html.erb @@ -23,7 +23,7 @@
- <%= form_for(@stundet_work, + <%= form_for(@student_work, :html => { :multipart => true }, :url => {:controller => 'student_work', :action => 'create', @@ -107,21 +107,29 @@

注:迟交扣2分,缺评一个作品扣2

+ <%= form_for(@student_work, + :html => { :multipart => true }, + :url => {:controller => 'student_work', + :action => 'create', + :student_work_id => @student_work.id + }, + :method => :post) do |f|%> +
- 请使用 <%= @homework.language_name %> 语言 + 请使用 <%= @homework.language_name %> 语言编写
- + <%= f.text_area :name, id: 'program-title', class:"InputBox W700", placeholder:"请概括你的代码的功能" %>
- + <%= f.text_area :description, id: 'program-src', class:" W700 H150", placeholder:"请贴入你的代码", rows: 10 %>
- + <% end %>
diff --git a/config/configuration.yml b/config/configuration.yml index ef204a31e..af68515eb 100644 --- a/config/configuration.yml +++ b/config/configuration.yml @@ -199,9 +199,12 @@ default: repository_root_path: '/tmp/htdocs' + judge_server: 'http://judge.trustie.net/' + # specific configuration options for production environment # that overrides the default ones production: + judge_server: 'http://192.168.80.21:8080/' repository_root_path: '/home/pdl/redmine-2.3.2-0/apache2/htdocs' cookie_domain: ".trustie.net" rmagick_font_path: /usr/share/fonts/ipa-mincho/ipam.ttf diff --git a/public/javascripts/homework.js b/public/javascripts/homework.js index f25e55e02..d83061f56 100644 --- a/public/javascripts/homework.js +++ b/public/javascripts/homework.js @@ -1,13 +1,27 @@ $(function(){ + var valid_form = function() { + var src = $('#program-src').val(); + var title = $('#program-title').val(); + + if (!src) { + alert('请输入正确的代码'); + return false; + } + if (!title) { + alert('请输入标题'); + return false; + } + return true; + } + $('#test-program-btn').on('click', function(){ var homework_id = $(this).attr('data-homework-id'); var student_work_id = $(this).attr('data-student-work-id'); var src = $('#program-src').val(); - var title = $('program-title').val(); + var title = $('#program-title').val(); - if (!src) { - alert('请输入正确的代码'); + if(!valid_form()){ return; } @@ -21,4 +35,14 @@ $(function(){ } ); }); + + + $('#commit-program-work-btn').on('click', function(){ + if(!valid_form()){ + return; + } + $(".HomeWorkCon form").submit(); + }); + + }); \ No newline at end of file