summaryrefslogtreecommitdiffstats
path: root/buglist.cgi
diff options
context:
space:
mode:
authorDylan William Hardison <dylan@hardison.net>2017-04-19 22:52:00 +0200
committerDylan William Hardison <dylan@hardison.net>2017-05-24 20:24:54 +0200
commitffe838a923696f81e8d8e1f24c5dc7a568cbc6ac (patch)
tree92894c1e927204b529759e8c3e9078720ce5e8bc /buglist.cgi
parent50fc9d77128db4f8565265047166c6ef61bac5c5 (diff)
downloadbugzilla-ffe838a923696f81e8d8e1f24c5dc7a568cbc6ac.tar.gz
bugzilla-ffe838a923696f81e8d8e1f24c5dc7a568cbc6ac.tar.xz
Bug 1348380 - Add param and user setting to control elasticsearch behavior
1) add an 'elasticsearch' param (configured via admin.cgi) that turns off all code that would attempt to connect to elasticsearch. 2) add a user preference that controls using elasticsearch for searches, which defaults to off for logged-in users. Anonymous users will default to using elasticsearch for the greater good. Note that elasticsearch, if available, will still power user-autocompletion (unless turned off as by the above parameter).
Diffstat (limited to 'buglist.cgi')
-rwxr-xr-xbuglist.cgi11
1 files changed, 9 insertions, 2 deletions
diff --git a/buglist.cgi b/buglist.cgi
index fa6bb060f..d2c6545b7 100755
--- a/buglist.cgi
+++ b/buglist.cgi
@@ -692,11 +692,18 @@ my $fallback_search = Bugzilla::Search->new(fields => [@selectcolumns],
order => [@order_columns],
sharer => $sharer_id);
+# Not-logged-in users get elasticsearch if possible
+my $elastic_default = !$user->id || $user->setting('use_elasticsearch') eq 'on';
+
my $search;
-my $elastic = $cgi->param('elastic') // 1;
+my $elastic = $cgi->param('elastic') // $elastic_default;
if (defined $cgi->param('elastic')) {
- $vars->{was_elastic} = 1;
+ $vars->{was_elastic} = $elastic;
}
+
+# If turned off in the admin section, it is always off.
+$elastic = 0 unless Bugzilla->params->{elasticsearch};
+
if ($elastic) {
local $SIG{__DIE__} = undef;
local $SIG{__WARN__} = undef;