Skip to content
Snippets Groups Projects
Commit ed43c6f1 authored by Mark Fletcher's avatar Mark Fletcher
Browse files

Hide admin link from default search results for non-admins

parent 81002745
No related branches found
No related tags found
No related merge requests found
Loading
Loading
@@ -10,6 +10,7 @@ module SearchHelper
search_pattern = Regexp.new(Regexp.escape(term), "i")
 
generic_results = project_autocomplete + default_autocomplete + help_autocomplete
generic_results.concat(default_autocomplete_admin) if current_user.admin?
generic_results.select! { |result| result[:label] =~ search_pattern }
 
[
Loading
Loading
@@ -41,8 +42,14 @@ module SearchHelper
[
{ category: "Settings", label: "User settings", url: profile_path },
{ category: "Settings", label: "SSH Keys", url: profile_keys_path },
{ category: "Settings", label: "Dashboard", url: root_path },
{ category: "Settings", label: "Admin Section", url: admin_root_path }
{ category: "Settings", label: "Dashboard", url: root_path }
]
end
# Autocomplete results for settings pages, for admins
def default_autocomplete_admin
[
{ category: "Settings", label: "Admin Section", url: admin_root_path }
]
end
 
Loading
Loading
---
title: Hide admin link from default search results for non-admins
merge_request: 14015
author:
type: fixed
Loading
Loading
@@ -17,7 +17,7 @@ describe SearchHelper do
end
end
 
context "with a user" do
context "with a standard user" do
let(:user) { create(:user) }
 
before do
Loading
Loading
@@ -29,7 +29,11 @@ describe SearchHelper do
end
 
it "includes default sections" do
expect(search_autocomplete_opts("adm").size).to eq(1)
expect(search_autocomplete_opts("dash").size).to eq(1)
end
it "does not include admin sections" do
expect(search_autocomplete_opts("admin").size).to eq(0)
end
 
it "does not allow regular expression in search term" do
Loading
Loading
@@ -67,6 +71,18 @@ describe SearchHelper do
end
end
end
context 'with an admin user' do
let(:admin) { create(:admin) }
before do
allow(self).to receive(:current_user).and_return(admin)
end
it "includes admin sections" do
expect(search_autocomplete_opts("admin").size).to eq(1)
end
end
end
 
describe 'search_filter_input_options' do
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment