diff --git a/app/controllers/homework_common_controller.rb b/app/controllers/homework_common_controller.rb
index 6f2ecef0b..21f781a1a 100644
--- a/app/controllers/homework_common_controller.rb
+++ b/app/controllers/homework_common_controller.rb
@@ -23,7 +23,7 @@ class HomeworkCommonController < ApplicationController
#
# @homework = HomeworkCommon.new
# @homework.safe_attributes = params[:homework_common]
- # @homework.late_penalty = 0
+ # @homework.late_penalty = 2
# @homework.end_time = (Time.now + 3600 * 24).strftime('%Y-%m-%d')
# @homework.publish_time = Time.now.strftime('%Y-%m-%d')
#
@@ -31,7 +31,7 @@ class HomeworkCommonController < ApplicationController
# #匿评作业相关属性
# @homework_detail_manual = HomeworkDetailManual.new
# @homework_detail_manual.ta_proportion = 0.6
- # @homework_detail_manual.absence_penalty = 0
+ # @homework_detail_manual.absence_penalty = 2
# @homework_detail_manual.evaluation_num = 3
# @homework_detail_manual.evaluation_start = Time.now.strftime('%Y-%m-%d')
# @homework_detail_manual.evaluation_end = (Time.now + 3600 * 24).strftime('%Y-%m-%d')
@@ -52,7 +52,7 @@ class HomeworkCommonController < ApplicationController
@homework = HomeworkCommon.new
@homework.safe_attributes = params[:homework_common]
- @homework.late_penalty = 0
+ @homework.late_penalty = 2
@homework.end_time = (Time.now + 3600 * 24).strftime('%Y-%m-%d')
@homework.publish_time = Time.now.strftime('%Y-%m-%d')
@@ -60,7 +60,7 @@ class HomeworkCommonController < ApplicationController
#匿评作业相关属性
@homework_detail_manual = HomeworkDetailManual.new
@homework_detail_manual.ta_proportion = 0.6
- @homework_detail_manual.absence_penalty = 0
+ @homework_detail_manual.absence_penalty = 2
@homework_detail_manual.evaluation_num = 3
@homework_detail_manual.evaluation_start = Time.now.strftime('%Y-%m-%d')
@homework_detail_manual.evaluation_end = (Time.now + 3600 * 24).strftime('%Y-%m-%d')
@@ -107,6 +107,7 @@ class HomeworkCommonController < ApplicationController
homework_test.input = v
homework_test.output = params[:output][k]
homework_test.result = params[:result][k]
+ homework_test.error_msg = params[:error_msg]
homework.homework_tests << homework_test
question[:input] << homework_test.input
question[:output] << homework_test.output
@@ -231,11 +232,13 @@ class HomeworkCommonController < ApplicationController
homework_test.input = v
homework_test.output = params[:output][k]
homework_test.result = params[:result][k]
+ homework_test.error_msg = params[:error_msg]
else #不存在的测试,增加
homework_test = HomeworkTest.new
homework_test.input = v
homework_test.output = params[:output][k]
homework_test.result = params[:result][k]
+ homework_test.error_msg = params[:error_msg]
homework_test.homework_common = @homework
end
homework_test.save
@@ -367,6 +370,7 @@ class HomeworkCommonController < ApplicationController
client.request(request)
end
result = JSON.parse(res.body)
+ @err_msg = result["compile_error_msg"]
result["results"].each do |re|
@result = re["status"]
end
diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb
index 165e22071..6ac3c234a 100644
--- a/app/helpers/application_helper.rb
+++ b/app/helpers/application_helper.rb
@@ -2378,4 +2378,26 @@ module ApplicationHelper
end
notice.html_safe
end
+
+ def stantard_code
+ "// 这是一个C语言的样例程序
+// 功能:输入两个整数,输出两者之和
+// 测试:老师可以给出以下测试集:
+// 输入1和2,输出3
+// 输入3和4,输出7
+// 那么下面这段代码将得到满分
+
+// 注意:编程作业采用命令行传参方式
+// 程序的所有输入都通过argv传入
+// 否则您的程序将被判错
+
+#include ">
+
+
diff --git a/app/views/homework_common/programing_test.js.erb b/app/views/homework_common/programing_test.js.erb
index 8f76642f1..d1643329b 100644
--- a/app/views/homework_common/programing_test.js.erb
+++ b/app/views/homework_common/programing_test.js.erb
@@ -1,2 +1,12 @@
$("#test_send_<%= @index%>").replaceWith(" fl ml5 mt1 programing_test' onclick='programing_test(<%= @index%>)' id='test_send_<%= @index%>'><%= @result == 0 ? '正确' : '错误'%>");
-$("#test_result_<%= @index%>").val("<%= @result%>");
\ No newline at end of file
+$("#test_result_<%= @index%>").val("<%= @result%>");
+<% if @err_msg || @result != 0%>
+ $("#homework_work_test_show").show();
+ $("#homework_work_test_desc").text("<%= escape_javascript(@err_msg || status_to_err_msg(@result))%>");
+ <% if @err_msg%>
+ $("#homework_test_error_msg").val("<%= escape_javascript(@err_msg)%>");
+ <% end%>
+<% else%>
+ $("#homework_work_test_show").hide();
+ $("#homework_test_error_msg").val("");
+<% end%>
\ No newline at end of file
diff --git a/app/views/student_work/new.html.erb b/app/views/student_work/new.html.erb
index eda09114e..6fbc00be0 100644
--- a/app/views/student_work/new.html.erb
+++ b/app/views/student_work/new.html.erb
@@ -44,7 +44,7 @@
+
+
+
+ 错误信息:
+
+
+ <% if homework.homework_tests.first && homework.homework_tests.first && homework.homework_tests.first.error_msg %>
+ <%= homework.homework_tests.first.error_msg%>
+ <% end%>
+
+
- + <%= f.select :project_id,options_for_select(user_projects_option), {},{:class => "bo02 mb10"} %>
@@ -54,7 +54,11 @@ <%= @homework.homework_type == 2 ? "提交代码" : "作品描述"%> : - <%= f.text_area "description", :class => "w620 hwork_txt ", :placeholder => "作品描述不能为空", :onkeyup => "regexStudentWorkDescription();"%> + <% if @homework.homework_type == 2%> + <%= f.text_area "description", :class => "w620 hwork_txt h350", :placeholder => "作品描述不能为空", :onkeyup => "regexStudentWorkDescription();", :value => stantard_code%> + <% else %> + <%= f.text_area "description", :class => "w620 hwork_txt", :placeholder => "作品描述不能为空", :onkeyup => "regexStudentWorkDescription();"%> + <% end%> diff --git a/app/views/users/user_course_activities.html.erb b/app/views/users/user_course_activities.html.erb index eacb620f2..ed5b66ed4 100644 --- a/app/views/users/user_course_activities.html.erb +++ b/app/views/users/user_course_activities.html.erb @@ -10,7 +10,7 @@ <%= rec[:item].user.show_name %> <%= get_activity_opt(rec[:item],rec[:e]) %> - <% if( rec[:e].is_public == false || rec[:e].is_public == 0 ) %> + <% if(( rec[:e].is_public == false || rec[:e].is_public == 0 )&& !rec[:e].visible?)%> diff --git a/public/stylesheets/courses.css b/public/stylesheets/courses.css index 5c6fd9867..fd9a4d44e 100644 --- a/public/stylesheets/courses.css +++ b/public/stylesheets/courses.css @@ -226,6 +226,7 @@ a:hover.ping_sub{ background:#14a8b9;} .w430{ width:470px;} .w557{ width:557px;} .w350{ width:350px;} +.h350{height: 350px !important;} .w620{ width:480px; height:160px; border:1px solid #CCC;} .bo{height:26px; border:1px solid #CCC; padding-left:5px; background:#fff;width:470px; } .bo02{height:26px; border:1px solid #CCC; padding-left:5px; background:#fff;width:480px; margin-left:2px; color: #999; } @@ -694,6 +695,9 @@ a.work_list_tit{width:580px; display:block; overflow:hidden; font-size:14px; f .border_l{border-left:1px solid #e4e4e4;} .border_t{ border-top:1px solid #e4e4e4;} .td_end{border-top:1px solid #e4e4e4; height:auto; padding:5px; } +.wl{text-align: left;} +.vt{vertical-align: top;} +.td_board_left{border-right: 1px solid #e4e4e4;} .c_w{ color:#fff;} .filename { background: url(../images/pic_file.png) 0 -25px no-repeat;color: #3ca5c6;max-width: 150px;border: none; padding-left: 20px;margin-right: 10px;margin-bottom: 5px; white-space: nowrap; text-overflow:ellipsis;} @@ -709,6 +713,7 @@ a:hover.about_me{ color:#0781b4;} .mb5 li{width:200px;word-wrap: break-word; word-break: normal; } +#homework_work_test_show{margin-left: 35px;width: 94%;}