diff --git a/README.md b/README.md index 0918d2786..996958ed5 100644 --- a/README.md +++ b/README.md @@ -104,7 +104,7 @@ Une fois `overmind` lancé, et un breakpoint `byebug` inséré dans le code, il ### Linting -Le projet utilise plusieurs linters pour vérifier la lisibilité et la qualité code. +Le projet utilise plusieurs linters pour vérifier la lisibilité et la qualité du code. - Faire tourner tous les linters : `bin/rake lint` - [AccessLint](http://accesslint.com/) tourne automatiquement sur les PRs @@ -121,16 +121,10 @@ Le projet utilise plusieurs linters pour vérifier la lisibilité et la qualité ## Tâches courantes -### Tâches Super Admin +### Tâches de gestion des comptes super-admin -- ajouter un compte super admin : - `bin/rake admin:create_admin[email-du-compte-github@exemple.com]` - -- lister les comptes super admin : - `bin/rake admin:list` - -- supprimer un compte super admin : - `bin/rake admin:delete_admin[email-du-compte-github@exemple.com]` +Des tâches de gestion des comptes super-admin sont prévues dans le namespace `superadmin`. +Pour les lister : `bin/rake -D superadmin:`. ### Tâches d’aide au support diff --git a/lib/tasks/admin.rake b/lib/tasks/superadmin.rake similarity index 54% rename from lib/tasks/admin.rake rename to lib/tasks/superadmin.rake index 01dd504e6..67c2dabbf 100644 --- a/lib/tasks/admin.rake +++ b/lib/tasks/superadmin.rake @@ -1,23 +1,34 @@ -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 - +namespace :superadmin do + 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 - task :delete_admin, [:email] => :environment do |_t, args| + desc <<~EOD + Create a new super-admin account with the #EMAIL email address. + EOD + task :create, [: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, [:email] => :environment do |_t, args| email = args[:email] puts "Deleting Administration for #{email}" a = Administration.find_by(email: email)