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.
52 lines
2.2 KiB
52 lines
2.2 KiB
6 years ago
|
#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
|