diff --git a/app/helpers/users_helper.rb b/app/helpers/users_helper.rb index 90bcc7f30..49db9cb5c 100644 --- a/app/helpers/users_helper.rb +++ b/app/helpers/users_helper.rb @@ -35,34 +35,10 @@ module UsersHelper end end - def current_administrator? - current_user&.administrator? - end - - def current_moderator? - current_user&.moderator? - end - - def current_valuator? - current_user&.valuator? - end - - def current_manager? - current_user&.manager? - end - - def current_sdg_manager? - current_user&.sdg_manager? - end - - def current_poll_officer? - current_user&.poll_officer? - end - - def show_admin_menu?(user = nil) + def show_admin_menu?(user) unless namespace == "officing" - current_administrator? || current_moderator? || current_valuator? || current_manager? || - user&.administrator? || current_poll_officer? || current_sdg_manager? + user&.administrator? || user&.moderator? || user&.valuator? || + (user&.manager? && namespace != "management") || user&.poll_officer? || user&.sdg_manager? end end diff --git a/app/views/devise/menu/_login_items.html.erb b/app/views/devise/menu/_login_items.html.erb index 0aed7e3a4..f5cd59fa9 100644 --- a/app/views/devise/menu/_login_items.html.erb +++ b/app/views/devise/menu/_login_items.html.erb @@ -1,4 +1,4 @@ -<% if user_signed_in? %> +<% if current_user %>
  • <%= layout_menu_link_to t("layouts.header.my_activity_link"), user_path(current_user), diff --git a/app/views/users/show.html.erb b/app/views/users/show.html.erb index 708b63275..d10b71bbc 100644 --- a/app/views/users/show.html.erb +++ b/app/views/users/show.html.erb @@ -17,7 +17,7 @@

    <%= avatar_image(@user, seed: @user.id, size: 60) %> <%= @user.name %> - <% if current_administrator? %> + <% if current_user&.administrator? %> <%= @user.email %> <% end %>

    diff --git a/spec/components/layout/admin_header_component_spec.rb b/spec/components/layout/admin_header_component_spec.rb index de76e21f6..bbcfa319a 100644 --- a/spec/components/layout/admin_header_component_spec.rb +++ b/spec/components/layout/admin_header_component_spec.rb @@ -11,7 +11,6 @@ describe Layout::AdminHeaderComponent do context "management section", controller: Management::BaseController do it "shows the menu for administrators" do create(:administrator, user: user) - sign_in(user) render_inline Layout::AdminHeaderComponent.new(user) @@ -24,7 +23,6 @@ describe Layout::AdminHeaderComponent do it "does not show the menu managers" do create(:manager, user: user) - sign_in(user) render_inline Layout::AdminHeaderComponent.new(user) diff --git a/spec/system/management_spec.rb b/spec/system/management_spec.rb new file mode 100644 index 000000000..a1ac75e5a --- /dev/null +++ b/spec/system/management_spec.rb @@ -0,0 +1,22 @@ +require "rails_helper" + +describe "Management" do + let(:user) { create(:user) } + + scenario "Does not show the admin menu when managing users having the admin menu" do + create(:manager, user: user) + create(:moderator, user: create(:user, :in_census, document_number: "12345678M")) + + login_as(user) + visit management_sign_in_path + click_link "Select user" + fill_in "Document number", with: "12345678M" + click_button "Check document" + + expect(page).to have_content "This user account is already verified" + expect(page).not_to have_content "You don't have new notifications" + expect(page).not_to have_content "My content" + expect(page).not_to have_content "My account" + expect(page).not_to have_content "Sign out" + end +end