From a29ab60481a788aaa1fb6ae9413bf760fed07980 Mon Sep 17 00:00:00 2001
From: guange <8863824@gmail.com>
Date: Thu, 10 Sep 2015 11:34:10 +0800
Subject: [PATCH 1/7] =?UTF-8?q?=E8=80=81=E5=B8=88=E7=9A=84=E6=B5=8B?=
=?UTF-8?q?=E8=AF=95=E7=BB=93=E6=9E=9C=E8=83=BD=E6=98=BE=E7=A4=BA=E5=87=BA?=
=?UTF-8?q?=E6=9D=A5?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/controllers/student_work_controller.rb | 2 +-
app/controllers/users_controller.rb | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/app/controllers/student_work_controller.rb b/app/controllers/student_work_controller.rb
index 593d6bf53..018a293e3 100644
--- a/app/controllers/student_work_controller.rb
+++ b/app/controllers/student_work_controller.rb
@@ -631,7 +631,7 @@ class StudentWorkController < ApplicationController
unless @homework.save
logger.debug @homework.errors.full_messages
else
- student_work = @homework.student_works.where(user_id: User.current.id).first
+ student_work = StudentWork.where(homework_common_id: @homework.id, user_id: User.current.id).first
end
end
student_work
diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb
index 9b2d49f2d..d71b24fc8 100644
--- a/app/controllers/users_controller.rb
+++ b/app/controllers/users_controller.rb
@@ -354,7 +354,7 @@ class UsersController < ApplicationController
@user = User.current
@homework = HomeworkCommon.find(params[:homework_id])
@is_test = params[:is_test] == 'true'
- @student_work = @homework.student_works.where(user_id: User.current.id).first
+ @student_work = StudentWork.where(homework_common_id: @homework.id, user_id: User.current.id).first
if @student_work.nil?
@student_work = StudentWork.new
end
@@ -369,7 +369,7 @@ class UsersController < ApplicationController
def user_commit_homework
homework = HomeworkCommon.find(params[:homework])
- student_work = homework.student_works.where(user_id: User.current.id).first
+ student_work = StudentWork.where(homework_common_id: homework.id, user_id: User.current.id).first
if student_work
student_work.save
flash[:notice] = l(:notice_successful_create)
From 487f46bb3277c4e89fdec3acf63463995d610134 Mon Sep 17 00:00:00 2001
From: sw <939547590@qq.com>
Date: Fri, 11 Sep 2015 11:46:12 +0800
Subject: [PATCH 2/7] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E5=9B=BE=E7=89=87?=
=?UTF-8?q?=E5=90=8E=E5=A4=A7=E5=B0=8F=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/views/my/save_user_avatar.js.erb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/views/my/save_user_avatar.js.erb b/app/views/my/save_user_avatar.js.erb
index 03608a768..1e24a4a7c 100644
--- a/app/views/my/save_user_avatar.js.erb
+++ b/app/views/my/save_user_avatar.js.erb
@@ -1,3 +1,3 @@
-$("#nh_user_tx").replaceWith('<%= image_tag(url_to_avatar(@user), :id=>'nh_user_tx',:style=>"width:90px;height:90px;overflow:hidden",:alt=>"头像") %>');
+$("#nh_user_tx").replaceWith('<%= image_tag(url_to_avatar(@user), :id=>'nh_user_tx',:style=>"width:78px;height:78px;overflow:hidden",:alt=>"头像") %>');
$("#nh_user_logo").replaceWith('<%= image_tag(url_to_avatar(@user), :id=>'nh_user_logo',:width =>"40",:height => "40",:alt=>"头像") %>');
hideModal();
\ No newline at end of file
From e9f9dd44b9f602e7d582277f56fdfa68bf809284 Mon Sep 17 00:00:00 2001
From: guange <8863824@gmail.com>
Date: Fri, 11 Sep 2015 14:59:30 +0800
Subject: [PATCH 3/7] =?UTF-8?q?=E7=BC=96=E7=A8=8B=E4=BD=9C=E4=B8=9A?=
=?UTF-8?q?=E7=9A=84=E4=BF=AE=E6=94=B9=E5=8A=9F=E8=83=BD=E6=90=9E=E5=AE=9A?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/controllers/homework_common_controller.rb | 14 +++
app/models/homework_common.rb | 2 +-
app/views/users/_user_homework_form.html.erb | 61 ++++++++----
public/javascripts/homework.js | 99 ++++++++++---------
4 files changed, 106 insertions(+), 70 deletions(-)
diff --git a/app/controllers/homework_common_controller.rb b/app/controllers/homework_common_controller.rb
index d4c02860e..71782ee28 100644
--- a/app/controllers/homework_common_controller.rb
+++ b/app/controllers/homework_common_controller.rb
@@ -154,7 +154,21 @@ class HomeworkCommonController < ApplicationController
#编程作业相关属性
if @homework.homework_type == 2
+ @homework.homework_detail_programing ||= HomeworkDetailPrograming.new
+ @homework_detail_programing = @homework.homework_detail_programing
+ @homework_detail_programing.ta_proportion = params[:ta_proportion] || 0.6
+ @homework_detail_programing.language = params[:language_type].to_i
+ @homework.homework_tests.delete_all
+ inputs = params[:program][:input]
+ if Array === inputs
+ inputs.each_with_index do |val, i|
+ @homework.homework_tests << HomeworkTest.new(
+ input: val,
+ output: params[:program][:output][i]
+ )
+ end
+ end
end
if @homework.save
diff --git a/app/models/homework_common.rb b/app/models/homework_common.rb
index 0bff38558..c1e5666ac 100644
--- a/app/models/homework_common.rb
+++ b/app/models/homework_common.rb
@@ -60,6 +60,6 @@ class HomeworkCommon < ActiveRecord::Base
self.homework_type == 2 && self.homework_detail_programing
end
- delegate :language_name, :to => :homework_detail_programing
+ delegate :language_name, :language, :to => :homework_detail_programing
end
diff --git a/app/views/users/_user_homework_form.html.erb b/app/views/users/_user_homework_form.html.erb
index b4118bd2a..d221e50c8 100644
--- a/app/views/users/_user_homework_form.html.erb
+++ b/app/views/users/_user_homework_form.html.erb
@@ -1,6 +1,11 @@
<% content_for :header_tags do %>
<%= javascript_include_tag "/assets/kindeditor/kindeditor",'/assets/kindeditor/pasteimg'%>
<%= javascript_include_tag 'homework','baiduTemplate' %>
+
<% end %>
-
+
@@ -83,28 +88,42 @@
-
diff --git a/public/javascripts/homework.js b/public/javascripts/homework.js
index 773a2c209..e07b6b979 100644
--- a/public/javascripts/homework.js
+++ b/public/javascripts/homework.js
@@ -58,10 +58,10 @@ $(function(){
);
};
- $('#test-program-btn').live('click', test_program);
+ $('#test-program-btn').on('click', test_program);
- $('#commit-program-work-btn').live('click', function(){
+ $('#commit-program-work-btn').on('click', function(){
if(!valid_form()){
return;
}
@@ -89,11 +89,10 @@ $(function(){
$(".HomeWorkCon form").submit();
});
- $('form.edit_student_work').live('keydown', '#program-src', function(){
+ $('form.edit_student_work').on('keydown', '#program-src', function(){
tested = false;
});
-
//发布作业
$('#program-src').focus(function(){
@@ -104,70 +103,74 @@ $(function(){
$('input.date-input').datepicker(datepickerOptions);
- $('a.pic_date').live('click', function(){
+ $('a.pic_date').on('click', function(){
$(this).parent().prev().first().focus();
})
- $('a.ProBtn').live('click', function(){
- $("#BluePopupBox").dialog({
+ $("#BluePopupBox").dialog({
modal: true,
+ autoOpen: false,
dialogClass: 'BluePopupBox',
minWidth: 753
- });
- $(".ui-dialog-titlebar").hide();
+ });
- $("a.CloseBtn").live('click', function(){
+ $('a.ProBtn').on('click', function(){
+ $("#BluePopupBox").dialog("open");
+ $(".ui-dialog-titlebar").hide();
+ $("a.CloseBtn").on('click', function(){
$("#BluePopupBox" ).dialog("close");
});
$('#textarea_input_test').focus();
+ });
- $("#BluePopupBox a.BlueCirBtn").live('click', function(){
- var test_numbers = 0;
- var valid = true;
- var input = null;
- var output = null;
- var input_groups = [];
- $.each($('#BluePopupBox textarea.InputBox'), function(i, val){
- if ($(val).val().length<=0) {
- $(val)[0].focus();
- valid =false;
- return false;
- }
- if (test_numbers %2==0) {
- input = $(val).val();
- } else {
- output = $(val).val();
- input_groups.push({input: input, output: output});
- }
- test_numbers += 1;
- });
-
- var language = $('select.language_type').val() == 1 ? 'C语言' : 'C++语言';
-
- if (valid) {
- $("input[name=homework_type]").val(2);
- $('span.program_detail_info').text('('+language+','+test_numbers/2+'组测试)');
- //保存js值
- var data = {
- language_type: $('select.language_type').val(),
- input_groups: input_groups
- };
- //构建到form中
- $('.program-input').remove();
- var html=bt('t:program-input-list',data);
- $("input[name=homework_type]").after(html);
- $("#BluePopupBox" ).dialog( "close" );
+ $("#BluePopupBox a.BlueCirBtn").on('click', function(){
+ var test_numbers = 0;
+ var valid = true;
+ var input = null;
+ var output = null;
+ var input_groups = [];
+ $.each($('#BluePopupBox textarea.InputBox'), function(i, val){
+ if ($(val).val().length<=0) {
+ $(val)[0].focus();
+ valid =false;
+ return false;
}
+ if (test_numbers %2==0) {
+ input = $(val).val();
+ } else {
+ output = $(val).val();
+ input_groups.push({input: input, output: output});
+ }
+ test_numbers += 1;
});
+
+ var language = $('select.language_type').val() == 1 ? 'C语言' : 'C++语言';
+
+ if (valid) {
+ $("input[name=homework_type]").val(2);
+ $('span.program_detail_info').text('('+language+','+test_numbers/2+'组测试)');
+ //保存js值
+ var data = {
+ language_type: $('select.language_type').val(),
+ input_groups: input_groups
+ };
+ //构建到form中
+ $('.program-input').remove();
+ var html=bt('t:program-input-list',data);
+ $("input[name=homework_type]").after(html);
+ if($( "#BluePopupBox" ).dialog( "isOpen" )){
+ $("#BluePopupBox").dialog( "close" );
+ }
+ }
});
- $("#BluePopupBox").live('click', 'a.icon_add', function(){
+ $("#BluePopupBox").on('click', 'a.icon_add', function(){
var html = bt('t:test-answer-list', null);
$(this).parent('.mt10').after(html);
});
- $("#BluePopupBox").live('click', 'a.icon_remove', function(){
+ $("#BluePopupBox").on('click', 'a.icon_remove', function(){
$(this).parent('.mt10').remove();
});
});
\ No newline at end of file
From 96405d7c0c4a735c1145c392a2df791c3029275f Mon Sep 17 00:00:00 2001
From: sw <939547590@qq.com>
Date: Fri, 11 Sep 2015 15:38:58 +0800
Subject: [PATCH 4/7] =?UTF-8?q?=E5=8F=96=E6=B6=88=E4=B9=8B=E5=90=8E?=
=?UTF-8?q?=E7=BC=96=E7=A8=8B=E6=8C=89=E9=92=AE=E6=97=A0=E6=95=88?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
public/javascripts/homework.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/public/javascripts/homework.js b/public/javascripts/homework.js
index e07b6b979..9a5d6aa37 100644
--- a/public/javascripts/homework.js
+++ b/public/javascripts/homework.js
@@ -115,7 +115,7 @@ $(function(){
minWidth: 753
});
- $('a.ProBtn').on('click', function(){
+ $('a.ProBtn').live('click', function(){
$("#BluePopupBox").dialog("open");
$(".ui-dialog-titlebar").hide();
$("a.CloseBtn").on('click', function(){
From 37f235c2ab57185b742be2ce3b1b5651d75faa55 Mon Sep 17 00:00:00 2001
From: sw <939547590@qq.com>
Date: Fri, 11 Sep 2015 16:22:35 +0800
Subject: [PATCH 5/7] =?UTF-8?q?=E5=AF=BC=E5=85=A5=E7=BC=96=E7=A8=8B?=
=?UTF-8?q?=E4=BD=9C=E4=B8=9A?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/controllers/users_controller.rb | 15 ++++++++
app/views/users/_user_homework_form.html.erb | 38 +------------------
.../users/_user_programing_attr.html.erb | 36 ++++++++++++++++++
app/views/users/user_select_homework.js.erb | 2 +
public/javascripts/homework.js | 2 +-
5 files changed, 55 insertions(+), 38 deletions(-)
create mode 100644 app/views/users/_user_programing_attr.html.erb
diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb
index f1608515f..dcea9e276 100644
--- a/app/controllers/users_controller.rb
+++ b/app/controllers/users_controller.rb
@@ -329,11 +329,13 @@ class UsersController < ApplicationController
#导入作业,确定按钮
def user_select_homework
homework = HomeworkCommon.find_by_id params[:checkMenu]
+ homework_detail_programing = homework.homework_detail_programing
@homework = HomeworkCommon.new
if homework
@homework.name = homework.name
@homework.description = homework.description
@homework.end_time = homework.end_time
+ @homework.homework_type = homework.homework_type
@homework.course_id = homework.course_id
homework.attachments.each do |attachment|
att = attachment.copy
@@ -343,6 +345,19 @@ class UsersController < ApplicationController
att.save
@homework.attachments << att
end
+
+ if homework_detail_programing
+ @homework.homework_detail_programing = HomeworkDetailPrograming.new
+ @homework_detail_programing = @homework.homework_detail_programing
+ @homework_detail_programing.ta_proportion = homework_detail_programing.ta_proportion
+ @homework_detail_programing.language = homework_detail_programing.language
+ homework.homework_tests.each_with_index do |homework_test|
+ @homework.homework_tests << HomeworkTest.new(
+ input: homework_test.input,
+ output: homework_test.output
+ )
+ end
+ end
end
respond_to do |format|
format.js
diff --git a/app/views/users/_user_homework_form.html.erb b/app/views/users/_user_homework_form.html.erb
index d221e50c8..b22053f6d 100644
--- a/app/views/users/_user_homework_form.html.erb
+++ b/app/views/users/_user_homework_form.html.erb
@@ -89,41 +89,5 @@
diff --git a/app/views/users/_user_programing_attr.html.erb b/app/views/users/_user_programing_attr.html.erb
new file mode 100644
index 000000000..6a3b4a773
--- /dev/null
+++ b/app/views/users/_user_programing_attr.html.erb
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+ <% if edit_mode && homework.is_program_homework? %>
+ <% homework.homework_tests.each_with_index do |test, index| %>
+
+
+
+
+ <% if index != 0 %>
+
+ <% end %>
+
+
+ <% end %>
+ <% else %>
+
+ <% end %>
+
+
+
+
\ No newline at end of file
diff --git a/app/views/users/user_select_homework.js.erb b/app/views/users/user_select_homework.js.erb
index acffd2506..001c45fa4 100644
--- a/app/views/users/user_select_homework.js.erb
+++ b/app/views/users/user_select_homework.js.erb
@@ -5,4 +5,6 @@ $("#homework_end_time").val("<%= @homework.end_time%>");
$("#course_id").val("<%= @homework.course_id%>");
$("#homework_attachments").html("<%= escape_javascript(render :partial => 'users/user_homework_attachment', :locals => { :container => @homework,:has_program => true })%>");
homework_description_editor.html("<%= escape_javascript(@homework.description.html_safe)%>");
+$("#BluePopupBox").html("<%=escape_javascript( render :partial => 'users/user_programing_attr', :locals => {:edit_mode => true, :homework => @homework})%>");
+$("input[name='homework_type']").val("<%= @homework.homework_type%>");
$("#homework_editor").show();
diff --git a/public/javascripts/homework.js b/public/javascripts/homework.js
index 9a5d6aa37..45902ef16 100644
--- a/public/javascripts/homework.js
+++ b/public/javascripts/homework.js
@@ -124,7 +124,7 @@ $(function(){
$('#textarea_input_test').focus();
});
- $("#BluePopupBox a.BlueCirBtn").on('click', function(){
+ $("#BluePopupBox a.BlueCirBtn").live('click', function(){
var test_numbers = 0;
var valid = true;
var input = null;
From 90a52aa01b7b8f375fc6bc9157bf704002a50d2a Mon Sep 17 00:00:00 2001
From: sw <939547590@qq.com>
Date: Fri, 11 Sep 2015 16:26:35 +0800
Subject: [PATCH 6/7] =?UTF-8?q?=E5=AF=BC=E5=85=A5=E7=BC=96=E7=A8=8B?=
=?UTF-8?q?=E4=BD=9C=E4=B8=9A=E5=90=8E=E3=80=81=E6=B5=8B=E8=AF=95=E9=9B=86?=
=?UTF-8?q?=E6=95=B0=E9=87=8F=E4=B8=8D=E6=98=BE=E7=A4=BA=E7=9A=84=E9=97=AE?=
=?UTF-8?q?=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/views/users/user_select_homework.js.erb | 1 +
1 file changed, 1 insertion(+)
diff --git a/app/views/users/user_select_homework.js.erb b/app/views/users/user_select_homework.js.erb
index 001c45fa4..5bea36d90 100644
--- a/app/views/users/user_select_homework.js.erb
+++ b/app/views/users/user_select_homework.js.erb
@@ -8,3 +8,4 @@ homework_description_editor.html("<%= escape_javascript(@homework.description.ht
$("#BluePopupBox").html("<%=escape_javascript( render :partial => 'users/user_programing_attr', :locals => {:edit_mode => true, :homework => @homework})%>");
$("input[name='homework_type']").val("<%= @homework.homework_type%>");
$("#homework_editor").show();
+$("#BluePopupBox a.BlueCirBtn").click();
From 760b70971a396fab23df72a488abf1adf58d2669 Mon Sep 17 00:00:00 2001
From: sw <939547590@qq.com>
Date: Fri, 11 Sep 2015 16:27:34 +0800
Subject: [PATCH 7/7] =?UTF-8?q?=E5=8F=96=E6=B6=88=E5=AF=BC=E5=85=A5?=
=?UTF-8?q?=E7=BC=96=E7=A8=8B=E4=BD=9C=E4=B8=9A=E6=97=B6=E5=AF=B9homework?=
=?UTF-8?q?=5Ftype=E7=9A=84=E8=B5=8B=E5=80=BC?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/views/users/user_select_homework.js.erb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/views/users/user_select_homework.js.erb b/app/views/users/user_select_homework.js.erb
index 5bea36d90..308f74938 100644
--- a/app/views/users/user_select_homework.js.erb
+++ b/app/views/users/user_select_homework.js.erb
@@ -6,6 +6,6 @@ $("#course_id").val("<%= @homework.course_id%>");
$("#homework_attachments").html("<%= escape_javascript(render :partial => 'users/user_homework_attachment', :locals => { :container => @homework,:has_program => true })%>");
homework_description_editor.html("<%= escape_javascript(@homework.description.html_safe)%>");
$("#BluePopupBox").html("<%=escape_javascript( render :partial => 'users/user_programing_attr', :locals => {:edit_mode => true, :homework => @homework})%>");
-$("input[name='homework_type']").val("<%= @homework.homework_type%>");
+//$("input[name='homework_type']").val("<%#= @homework.homework_type%>");
$("#homework_editor").show();
$("#BluePopupBox a.BlueCirBtn").click();