demarches-normaliennes/app/controllers/manager/administrateurs_controller.rb

45 lines
1.4 KiB
Ruby
Raw Normal View History

2018-01-08 17:40:25 +01:00
module Manager
class AdministrateursController < Manager::ApplicationController
def create
administrateur = current_super_admin.invite_admin(create_administrateur_params[:email])
if administrateur.errors.empty?
flash.notice = "Administrateur créé"
redirect_to manager_administrateurs_path
else
render :new, locals: {
page: Administrate::Page::Form.new(dashboard, administrateur)
}
end
end
2018-01-18 10:04:34 +01:00
def reinvite
Administrateur.find_inactive_by_id(params[:id]).user.invite_administrateur!
2018-01-16 16:28:13 +01:00
flash.notice = "Invitation renvoyée"
redirect_to manager_administrateur_path(params[:id])
end
def delete
administrateur = Administrateur.find(params[:id])
2023-10-05 11:23:46 +02:00
result = AdministrateurDeletionService.new(current_super_admin, administrateur).call
case result
in Dry::Monads::Result::Success
logger.info("L'administrateur #{administrateur.id} est supprimé par #{current_super_admin.id}")
flash[:notice] = "L'administrateur #{administrateur.id} est supprimé"
in Dry::Monads::Result::Failure(reason)
flash[:alert] = I18n.t(reason, scope: "manager.administrateurs.delete")
end
redirect_to manager_administrateurs_path
end
private
def create_administrateur_params
params.require(:administrateur).permit(:email)
end
2018-01-08 17:40:25 +01:00
end
end