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 @@