1.修改下载一个人作业所有文件的传递参数

2.减少下载后作业的打包次数
GitlabVersion
sw 11 years ago
parent bef37e5c0f
commit 2827bd0c21

@ -22,20 +22,10 @@ class ZipdownController < ApplicationController
#下载某一学生的作业的所有文件 #下载某一学生的作业的所有文件
def download_user_homework def download_user_homework
obj_class = params[:obj_class] homework = HomeworkAttach.find params[:homework]
obj_id = params[:obj_id] if homework != nil && (User.current.admin? || User.current.member_of?(homework.bid.courses.first))
user_id = params[:user_id] zipfile = zip_homework_by_user homework
obj = obj_class.constantize.find(obj_id) send_file zipfile, :filename => homework.name, :type => detect_content_type(zipfile) if zipfile
if User.current.admin? || User.current.member_of?(obj.courses.first)
zipfile = nil
case obj.class.to_s.to_sym
when :Bid
zipfile = zip_user_bid obj,user_id
else
logger.error "[ZipDown#assort] ===> #{obj.class.to_s.to_sym} unKown !!"
end
send_file zipfile, :filename => obj.name, :type => detect_content_type(zipfile) if zipfile
else else
render_403 :message => :notice_not_authorized render_403 :message => :notice_not_authorized
end end
@ -52,7 +42,8 @@ class ZipdownController < ApplicationController
user_zip_paths = homeattaches.map do |homeattach| user_zip_paths = homeattaches.map do |homeattach|
zip_homework_by_user homeattach zip_homework_by_user homeattach
end end
zipping "#{Time.now.to_i}_#{bid.name}.zip", user_zip_paths, OUTPUT_FOLDER #zipping "#{Time.now.to_i}_#{bid.name}.zip", user_zip_paths, OUTPUT_FOLDER
user_zip_paths
end end
def zip_bid(bid) def zip_bid(bid)
@ -84,6 +75,7 @@ class ZipdownController < ApplicationController
homeworks_attach_path << attach.diskfile#.to_s.slice((length+1)..-1) homeworks_attach_path << attach.diskfile#.to_s.slice((length+1)..-1)
end end
zipping "#{Time.now.to_i}_#{homeattach.user.name.to_s}.zip", homeworks_attach_path, OUTPUT_FOLDER, true zipping "#{Time.now.to_i}_#{homeattach.user.name.to_s}.zip", homeworks_attach_path, OUTPUT_FOLDER, true
#user_attaches_paths
end end

@ -49,7 +49,7 @@
<% end %> <% end %>
<strong> <strong>
<% if is_evaluation || is_teacher%> <% if is_evaluation || is_teacher%>
<%= link_to homework_filename, :controller => "zipdown", :action => "download_user_homework",:obj_class => @bid.class,:obj_id => @bid, :user_id =>homework.user%> <%= link_to homework_filename, :controller => "zipdown", :action => "download_user_homework",:homework => homework%>
<% else %> <% else %>
<%= homework_filename %> <%= homework_filename %>
<% end %> <% end %>

Loading…
Cancel
Save