You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
pgfqe6ch8/lib/tasks/zip.rake

52 lines
2.2 KiB

#coding=utf-8
namespace :zip do
desc "手工打包作品"
task :pack => :environment do
include ZipService
include Redmine::I18n
homework = Object.const_get(ENV['CLASS']).find ENV["ID"]
file_count = 0
homework.student_works.map { |work| file_count += work.attachments.count}
if file_count > 0
users_id = [7405,8376,9009,9018,9035,9037,9039,9043,9049,9055,9058,9075,9145,9146,9172,14806,16336,16341,16346,
16356,17744,17847,18006,18044,18050,19177,23557,23561,23568,23702,23821,23822,23891,23941,23990, 24045,
24054,24057,24078,24087,24175,24177,24243,24245,24279,24672,29295,29372,30150,30154,30158,30159,30163,30165,30166,
30169,30171,30173,30177,30179,30180,30182,30183,30186,30191,30192,30193,30195,30198,30199,30205,30206,30207,30208,
30212,30214,30216,30217,30219,30221,30222,30224,30230,30231,30233,30236,30237,30239,30240,30241,30242,30243,30245,
30247,30248,30249,30252,30255,30256,30257,30260,30261,30262,30263,30266,30268,30269,30271,31408,31931,32012]
student_works =(homework.id == 7412 ? homework.student_works.where(:user_id => users_id) : homework.student_works)
zipfile = zip_homework_common(homework, student_works) if student_works.present?
else
zipfile = {:message => "no file"}
end
puts "out: #{zipfile}"
end
task :shixun_pack => :environment do
include ZipService
include Redmine::I18n
homework = Object.const_get(ENV['CLASS']).find ENV["ID"]
student_works = homework.student_works.select{|work| work.work_status != 0}
if student_works.size > 0
zipfile = zip_shixun_work(homework, student_works)
else
zipfile = {:message => "no file"}
end
puts "out: #{zipfile}"
end
task :exercise_pack => :environment do
include ZipService
include Redmine::I18n
exercise = Object.const_get(ENV['CLASS']).find ENV["ID"]
exercise_users_list = exercise.exercise_users.select{|exercise| exercise.commit_status = 1}
if exercise_users_list.size > 0
zipfile = zip_user_exercise(exercise, exercise_users_list)
else
zipfile = {:message => "no file"}
end
puts "out: #{zipfile}"
end
end