From fe5ddd019bc66fc95dffa8233b31b4552bcdf5a6 Mon Sep 17 00:00:00 2001 From: Bertocq Date: Thu, 25 May 2017 11:29:39 +0200 Subject: [PATCH] Add logic to prevent the current user from removing himself from the administrator list, and a flash error notice for that scenario --- app/controllers/admin/administrators_controller.rb | 7 ++++++- config/locales/admin.en.yml | 1 + config/locales/admin.es.yml | 1 + 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/app/controllers/admin/administrators_controller.rb b/app/controllers/admin/administrators_controller.rb index 35325c5aa..938a7570d 100644 --- a/app/controllers/admin/administrators_controller.rb +++ b/app/controllers/admin/administrators_controller.rb @@ -26,7 +26,12 @@ class Admin::AdministratorsController < Admin::BaseController end def destroy - @administrator.destroy + if current_user.id == @administrator.user_id + flash[:error] = I18n.t("admin.administrators.administrator.restricted_removal") + else + @administrator.destroy + end + redirect_to admin_administrators_path end end diff --git a/config/locales/admin.en.yml b/config/locales/admin.en.yml index 2c39dc283..aa6980510 100755 --- a/config/locales/admin.en.yml +++ b/config/locales/admin.en.yml @@ -233,6 +233,7 @@ en: administrator: add: Add delete: Delete + restricted_removal: "Sorry, you can't remove yourself from the administrators" search: email_placeholder: Search user by email search: Search diff --git a/config/locales/admin.es.yml b/config/locales/admin.es.yml index f569b84a0..9e30742bc 100644 --- a/config/locales/admin.es.yml +++ b/config/locales/admin.es.yml @@ -187,6 +187,7 @@ es: administrator: add: AƱadir como Administrador delete: Borrar + restricted_removal: "Lo sentimos, no puedes te eliminar a ti mismo de la lista" search: email_placeholder: Buscar usuario por email search: Buscar