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