summaryrefslogtreecommitdiffstats
path: root/Bugzilla/Search
diff options
context:
space:
mode:
Diffstat (limited to 'Bugzilla/Search')
-rw-r--r--Bugzilla/Search/Quicksearch.pm13
1 files changed, 13 insertions, 0 deletions
diff --git a/Bugzilla/Search/Quicksearch.pm b/Bugzilla/Search/Quicksearch.pm
index dfab63698..e8664005c 100644
--- a/Bugzilla/Search/Quicksearch.pm
+++ b/Bugzilla/Search/Quicksearch.pm
@@ -79,6 +79,11 @@ use constant MAPPINGS => {
"keywords" => "keywords", # no change
"kw" => "keywords",
"group" => "bug_group",
+ "flag" => "flagtypes.name",
+ "requestee" => "requestees.login_name",
+ "req" => "requestees.login_name",
+ "setter" => "setters.login_name",
+ "set" => "setters.login_name",
# Attachments
"attachment" => "attachments.description",
"attachmentdesc" => "attachments.description",
@@ -270,6 +275,12 @@ sub quicksearch {
# votes:xx ("at least xx votes")
addChart('votes', 'greaterthan', $1, $negate);
}
+ elsif ($or_operand =~ /^([^\?]+\?)([^\?]*)$/) {
+ # Flag and requestee shortcut
+ addChart('flagtypes.name', 'substring', $1, $negate);
+ $chart++; $and = $or = 0; # Next chart for boolean AND
+ addChart('requestees.login_name', 'substring', $2, $negate);
+ }
elsif ($or_operand =~ /^([^:]+):([^:]+)$/) {
# generic field1,field2,field3:value1,value2 notation
my @fields = split(/,/, $1);
@@ -428,6 +439,8 @@ sub splitString {
foreach (@parts) {
# Remove quotes
s/"//g;
+ # Protect plus signs from becoming a blank
+ s/\+/%2B/g;
}
return @parts;