diaspora/lib/tasks/podmin.rake
2017-09-17 19:29:15 +02:00

34 lines
No EOL
1,012 B
Ruby

# frozen_string_literal: true
namespace :podmin do
desc "Send an email to users as admin"
task :admin_mail, [:users_def, :msg_path, :subject] => :environment do |t, args|
if args[:users_def] == 'all'
# to all except deleted and deactivated, of course
users = User.where("locked_at is null and username is not null")
elsif args[:users_def] == 'active_yearly'
users = User.yearly_actives
elsif args[:users_def] == 'active_monthly'
users = User.monthly_actives
elsif args[:users_def] == 'active_halfyear'
users = User.halfyear_actives
end
msg = File.read(args[:msg_path])
mails = Notifier.admin(msg.html_safe, users, :subject => args[:subject])
count = 0
mails.each do |mail|
begin
mail.deliver
count += 1
if count % 100 == 0
puts "#{count} out of #{mails.count} delivered"
end
rescue
puts $!, $@
end
end
puts "#{count} out of #{mails.count} delivered"
end
end