Improve the admin tasks

This commit is contained in:
gregoirenovel 2018-12-21 15:20:34 +01:00 committed by Pierre de La Morinerie
parent fc79b2b84a
commit 324b65b7ad

View file

@ -1,22 +1,33 @@
namespace :admin do
task :create_admin, [:email] => :environment do |_t, args|
email = args[:email]
puts "Creating Administration for #{email}"
a = Administration.new(email: email, password: Devise.friendly_token[0, 20])
if a.save
puts "#{a.email} created"
else
puts "An error occured : #{a.errors.full_messages}"
end
end
desc <<~EOD
List all super-admins
EOD
task list: :environment do
puts "All Administrations :"
puts "All Administrations:"
Administration.all.pluck(:email).each do |a|
puts a
end
end
desc <<~EOD
Create a new super-admin account with the #EMAIL email address.
EOD
task :create_admin, [:email] => :environment do |_t, args|
email = args[:email]
puts "Creating Administration for #{email}"
a = Administration.new(email: email, password: Devise.friendly_token[0, 20])
if a.save
puts "#{a.email} created"
else
puts "An error occured: #{a.errors.full_messages}"
end
end
desc <<~EOD
Delete the #EMAIL super-admin account
EOD
task :delete_admin, [:email] => :environment do |_t, args|
email = args[:email]
puts "Deleting Administration for #{email}"