diff --git a/app/controllers/homework_common_controller.rb b/app/controllers/homework_common_controller.rb index b2014a7d0..290dc1ba2 100644 --- a/app/controllers/homework_common_controller.rb +++ b/app/controllers/homework_common_controller.rb @@ -180,6 +180,12 @@ class HomeworkCommonController < ApplicationController @homework_detail_group.base_on_project = params[:base_on_project] ? 1 : 0 end + if anonymous != @homework.anonymous_comment + @homework.student_works.where("work_status != 0").each do |student_work| + student_work.save + end + end + @homework.anonymous_comment = params[:homework_common][:anonymous_comment] ? params[:homework_common][:anonymous_comment].to_i : 1 if @homework.save homework_detail_manual.save if homework_detail_manual @@ -196,7 +202,7 @@ class HomeworkCommonController < ApplicationController elsif params[:is_manage] == "2" redirect_to my_homeworks_user_path(User.current.id) elsif @hw_status == 1 - redirect_to user_path(User.current.id) + redirect_to user_course_community_path(User.current.id) elsif @hw_status == 2 redirect_to course_path(@course.id) elsif @hw_status == 5 diff --git a/app/controllers/zipdown_controller.rb b/app/controllers/zipdown_controller.rb index 6ed1a2e4b..f2922891b 100644 --- a/app/controllers/zipdown_controller.rb +++ b/app/controllers/zipdown_controller.rb @@ -43,10 +43,10 @@ class ZipdownController < ApplicationController zip_homework_common homework } elsif params[:obj_class] == "Work" - homework = Work.find params[:obj_id] - render_403 if User.current.admin_of_contest?(homework.contest) - zipfile = checkfileSize(homework.contestant_works) { - zip_homework_common homework + contest_work = Work.find params[:obj_id] + render_403 if User.current.admin_of_contest?(contest_work.contest) + zipfile = checkfileSize(contest_work.contestant_works) { + zip_contest_work contest_work } else logger.error "[ZipDown#assort] ===> #{params[:obj_class]} unKown !!" diff --git a/app/services/zip_service.rb b/app/services/zip_service.rb index 0866033bd..739d98d8c 100644 --- a/app/services/zip_service.rb +++ b/app/services/zip_service.rb @@ -72,7 +72,7 @@ module ZipService digests = [] homework_common.contestant_works.each do |work| unless work.attachments.empty? - out_file = zip_student_work_by_user(work) + out_file = zip_contestant_work_by_user(work) bid_homework_path << out_file.file_path digests << out_file.file_digest @@ -151,7 +151,7 @@ module ZipService end - def zip_student_work_by_user(work) + def zip_contestant_work_by_user(work) homeworks_attach_path = [] not_exist_file = [] # 需要将所有homework.attachments遍历加入zip @@ -169,13 +169,13 @@ module ZipService #单个文件的话,不需要压缩,只改名 out_file = nil if homeworks_attach_path.size == 1 - out_file = find_or_pack(work.homework_common_id, work.user_id, digests.sort){ + out_file = find_or_pack(work.work_id, work.user_id, digests.sort){ des_path = "#{OUTPUT_FOLDER}/#{make_zip_name(work)}_#{File.basename(homeworks_attach_path.first)}" FileUtils.cp homeworks_attach_path.first, des_path des_path } else - out_file = find_or_pack(work.homework_common_id, work.user_id, digests.sort){ + out_file = find_or_pack(work.work_id, work.user_id, digests.sort){ zipping("#{make_zip_name(work)}.zip", homeworks_attach_path, OUTPUT_FOLDER, true, not_exist_file) } diff --git a/app/views/contestant_works/index.html.erb b/app/views/contestant_works/index.html.erb index 9a07bc40f..375cdca4a 100644 --- a/app/views/contestant_works/index.html.erb +++ b/app/views/contestant_works/index.html.erb @@ -80,14 +80,15 @@
  • <%= link_to "导出提交成绩", contestant_works_path(:work => @contestwork.id,:order => @order, :sort => @b_sort, :name => @name, :group => @group, :format => 'xls'),:class=>'hworkExport postTypeGrey', :id => "export_student_work"%>
  • - - - - - - - - +
  • + <% if @contestwork.contestant_works.has_committed.empty?%> + 导出作业附件 + <%#= link_to "导出作业附件", "javascript:void(0)", class: "hworkExport resourcesGrey", :onclick => "alert('没有学生提交作业,无法下载附件')" %> + <% else%> + <%= link_to "导出作业附件", zipdown_assort_path(obj_class: @contestwork.class, obj_id: @contestwork, format: :json), + remote: true, class: "hworkExport resourcesGrey", :id => "download_homework_attachments" %> + <% end%> +
  • diff --git a/app/views/student_work/index.html.erb b/app/views/student_work/index.html.erb index c14e28f4d..a6a2c9a95 100644 --- a/app/views/student_work/index.html.erb +++ b/app/views/student_work/index.html.erb @@ -126,7 +126,7 @@ <%= link_to "导出作业成绩", student_work_index_path(:homework => @homework.id,:order => @order, :sort => @b_sort, :name => @name, :group => @group, :format => 'xls'),:class=>'hworkExport postTypeGrey', :id => "export_student_work"%>
  • - <% if @homework.student_works.empty?%> + <% if @homework.student_works.has_committed.empty?%> <%= link_to "导出作业附件", "javascript:void(0)", class: "hworkExport resourcesGrey", :onclick => "alert('没有学生提交作业,无法下载附件')" %> <% else%> <%= link_to "导出作业附件", zipdown_assort_path(obj_class: @homework.class, obj_id: @homework, format: :json), diff --git a/app/views/users/_user_homework_form.html.erb b/app/views/users/_user_homework_form.html.erb index 19a4abb5a..c059252f8 100644 --- a/app/views/users/_user_homework_form.html.erb +++ b/app/views/users/_user_homework_form.html.erb @@ -57,10 +57,14 @@ <% end %> }); function checked_val() { - if ($("#anonymous_comment").is(":checked")) { - $("#anonymous_comment").val(0); - } else { - $("#anonymous_comment").val(1); + if ($("#anonymous_comment").length > 0){ + if ($("#anonymous_comment").is(":checked")) { + $("#anonymous_comment").val(0); + $("#real_anonymous_comment").val(0); + } else { + $("#anonymous_comment").val(1); + $("#real_anonymous_comment").val(1); + } } } function nh_reset_homework_form(params){ @@ -232,11 +236,13 @@ <% if !edit_mode || edit_mode && homework.homework_detail_manual.comment_status < 2 %>
    - + 启用匿评
    <% end %> + +

    diff --git a/public/javascripts/course.js b/public/javascripts/course.js index d9b1226c6..aeb92c6c9 100644 --- a/public/javascripts/course.js +++ b/public/javascripts/course.js @@ -73,7 +73,7 @@ function hidden_homework_score_form() } /////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////新建课程相关 -//验证课程名称 +//验证班级名称 function regex_course_name(str) { var name = $.trim($("#"+str+"_course_name").val()); @@ -90,16 +90,20 @@ function regex_course_name(str) if(name.length < 2) { $("#"+str+"_course_name_notice").show(); + $("#"+str+"_course_name").css('border', "2px solid red"); return false; } else if(name.indexOf(syl_title) != 0){ $("#"+str+"_course_name_notice").html("请参照正确示例规范,应该以课程名称开头命名"); $("#"+str+"_course_name_notice").show(); + $("#"+str+"_course_name").focus(); + $("#"+str+"_course_name").css('border', "2px solid red"); return false; } else { $("#"+str+"_course_name_notice").hide(); + $("#"+str+"_course_name").css('border', "1px solid #ddd"); return true; } }