summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorByron Jones <bjones@mozilla.com>2012-04-30 08:43:29 +0200
committerByron Jones <bjones@mozilla.com>2012-04-30 08:43:29 +0200
commit8837967f9754641c7cf4a9bf2a5bc6e73244df15 (patch)
treeebe9cb0b745faefe38cae7aebcdedfa2b77c098e
parentfb2f6bd8ca4ed8879f82a2764d63d51a06670477 (diff)
downloadbugzilla-8837967f9754641c7cf4a9bf2a5bc6e73244df15.tar.gz
bugzilla-8837967f9754641c7cf4a9bf2a5bc6e73244df15.tar.xz
Bug 749074: Throw an error message instead of syntax error on invalid search type operators
r=LpSolit,a=LpSolit
-rw-r--r--Bugzilla/Search.pm4
-rw-r--r--template/en/default/global/code-error.html.tmpl4
2 files changed, 7 insertions, 1 deletions
diff --git a/Bugzilla/Search.pm b/Bugzilla/Search.pm
index e42952347..9024afb28 100644
--- a/Bugzilla/Search.pm
+++ b/Bugzilla/Search.pm
@@ -1779,7 +1779,9 @@ sub do_search_function {
sub _do_operator_function {
my ($self, $func_args) = @_;
my $operator = $func_args->{operator};
- my $operator_func = OPERATORS->{$operator};
+ my $operator_func = OPERATORS->{$operator}
+ || ThrowCodeError("search_field_operator_unsupported",
+ { operator => $operator });
$self->$operator_func($func_args);
}
diff --git a/template/en/default/global/code-error.html.tmpl b/template/en/default/global/code-error.html.tmpl
index 19d062841..9fd326051 100644
--- a/template/en/default/global/code-error.html.tmpl
+++ b/template/en/default/global/code-error.html.tmpl
@@ -453,6 +453,10 @@
[% ELSIF error == "invalid_post_bug_submit_action" %]
Invalid setting for post_bug_submit_action
+ [% ELSIF error == "search_field_operator_unsupported" %]
+ [% terms.Bugzilla %] does not support the search type
+ "[% operator FILTER html %]".
+
[% ELSE %]
[%# Try to find hooked error messages %]
[% error_message = Hook.process("errors") %]