From 7a7ae5fa2ee5285f832efba8e050aeeaeb5b8a02 Mon Sep 17 00:00:00 2001 From: iagirre Date: Fri, 17 Nov 2017 11:41:44 +0100 Subject: [PATCH] The admin menu is shown in the management section if the user who logged in is an admin --- app/controllers/management/base_controller.rb | 13 ++++++++++++- app/helpers/users_helper.rb | 4 ++-- app/views/layouts/management.html.erb | 8 ++++---- app/views/shared/_admin_login_items.html.erb | 2 +- 4 files changed, 19 insertions(+), 8 deletions(-) diff --git a/app/controllers/management/base_controller.rb b/app/controllers/management/base_controller.rb index bcebfebaa..c5d8edec3 100644 --- a/app/controllers/management/base_controller.rb +++ b/app/controllers/management/base_controller.rb @@ -6,6 +6,7 @@ class Management::BaseController < ActionController::Base helper_method :managed_user helper_method :current_user + helper_method :user_signed_in private @@ -22,7 +23,10 @@ class Management::BaseController < ActionController::Base end def managed_user - @managed_user ||= Verification::Management::ManagedUser.find(session[:document_type], session[:document_number]) + @managed_user ||= Verification::Management::ManagedUser.find( + session[:document_type], + session[:document_number] + ) end def check_verified_user(alert_msg) @@ -49,4 +53,11 @@ class Management::BaseController < ActionController::Base def clear_password session[:new_password] = nil end + + def user_signed_in + if current_manager + @user_signed_in = User.find(session[:manager]["login"].last(1)) + end + end + end diff --git a/app/helpers/users_helper.rb b/app/helpers/users_helper.rb index 980dd1e39..c0574f78a 100644 --- a/app/helpers/users_helper.rb +++ b/app/helpers/users_helper.rb @@ -52,8 +52,8 @@ module UsersHelper current_user && current_user.manager? end - def show_admin_menu? - current_administrator? || current_moderator? || current_valuator? || current_manager? + def show_admin_menu?(user = nil) + current_administrator? || current_moderator? || current_valuator? || current_manager? || user.administrator? end def interests_title_text(user) diff --git a/app/views/layouts/management.html.erb b/app/views/layouts/management.html.erb index 3fcf83f6e..9fc4f411f 100644 --- a/app/views/layouts/management.html.erb +++ b/app/views/layouts/management.html.erb @@ -29,14 +29,14 @@ - <% if current_administrator? %> + <% if user_signed_in.administrator? %>
diff --git a/app/views/shared/_admin_login_items.html.erb b/app/views/shared/_admin_login_items.html.erb index 3fbb34fcc..85407398a 100644 --- a/app/views/shared/_admin_login_items.html.erb +++ b/app/views/shared/_admin_login_items.html.erb @@ -1,4 +1,4 @@ -<% if show_admin_menu? %> +<% if show_admin_menu?(current_user) %>
  • <%= link_to t("layouts.header.administration_menu"), "#", rel: "nofollow", class: "hide-for-small-only" %>