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

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

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

@ -49,7 +49,7 @@
<% end %>
<strong>
<% 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 %>
<%= homework_filename %>
<% end %>

Loading…
Cancel
Save