From 4736a51e18fb01563340a218935554e0ffe4c406 Mon Sep 17 00:00:00 2001 From: Vitaliy Filippov Date: Mon, 25 Jan 2016 18:27:54 +0300 Subject: [PATCH] Allow admin users to see all saved queries --- Bugzilla/Checker.pm | 7 +------ Bugzilla/Search/Saved.pm | 3 ++- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/Bugzilla/Checker.pm b/Bugzilla/Checker.pm index ad7d44fa5..851380864 100644 --- a/Bugzilla/Checker.pm +++ b/Bugzilla/Checker.pm @@ -122,14 +122,9 @@ sub update sub _check_query_id { my ($invocant, $value, $field) = @_; - my $q = Bugzilla::Search::Saved->check({ id => $value }); # This code allows to create predicates using searches shared by other users, # but the UI doesn't allow it (yet?). - if ($q->user->id != Bugzilla->user->id && - (!$q->shared_with_group || !Bugzilla->user->in_group($q->shared_with_group))) - { - ThrowUserError('query_access_denied', { query => $q }); - } + my $q = Bugzilla::Search::Saved->check({ id => $value }); # Check if a named query is not a search query, but just an HTTP url if ($q->query =~ /^[a-z][a-z0-9]*:/iso) { diff --git a/Bugzilla/Search/Saved.pm b/Bugzilla/Search/Saved.pm index 1614db8ff..b492520bb 100644 --- a/Bugzilla/Search/Saved.pm +++ b/Bugzilla/Search/Saved.pm @@ -105,7 +105,8 @@ sub check my $search = $class->SUPER::check(@_); my $user = Bugzilla->user; return $search if $search->user->id == $user->id; - if (!$search->shared_with_group || !$user->in_group($search->shared_with_group)) + if (!Bugzilla->user->in_group('admin') && + (!$search->shared_with_group || !$user->in_group($search->shared_with_group))) { ThrowUserError('missing_query', { queryname => $search->name,