summaryrefslogtreecommitdiffstats
path: root/Bugzilla
diff options
context:
space:
mode:
authorMax Kanat-Alexander <mkanat@bugzilla.org>2010-08-02 00:48:57 +0200
committerMax Kanat-Alexander <mkanat@bugzilla.org>2010-08-02 00:48:57 +0200
commit21c69e6bf1158d1277fb7e1b4fab20a594876186 (patch)
tree2a770e6a678bfdf927040c302b8b254be1570559 /Bugzilla
parent85c092b03849942d2afcb1e06035cb890f8436d7 (diff)
downloadbugzilla-21c69e6bf1158d1277fb7e1b4fab20a594876186.tar.gz
bugzilla-21c69e6bf1158d1277fb7e1b4fab20a594876186.tar.xz
Bug 581327: The patch to allow commas in Product (etc.) names broke the
entering of comma-separated values in other search fields, like bug_id. So now we split on commas in text fields, but not for <select> fields. r=mkanat, a=mkanat (module owner)
Diffstat (limited to 'Bugzilla')
-rw-r--r--Bugzilla/Search.pm16
1 files changed, 15 insertions, 1 deletions
diff --git a/Bugzilla/Search.pm b/Bugzilla/Search.pm
index 59a358a6f..3408c2d55 100644
--- a/Bugzilla/Search.pm
+++ b/Bugzilla/Search.pm
@@ -1210,7 +1210,21 @@ sub _parse_basic_fields {
next if !@values;
my $operator = $params->{"${param_name}_type"} || 'anyexact';
$operator = 'matches' if $operator eq 'content';
- push(@charts, [$field_name, $operator, \@values]);
+ # Fields that are displayed as multi-selects are passed as arrays,
+ # so that they can properly search values that contain commas.
+ # However, other fields are sent as strings, so that they are properly
+ # split on commas if required.
+ my $field = $chart_fields->{$field_name};
+ my $pass_value;
+ if ($field->is_select or $field->name eq 'version'
+ or $field->name eq 'target_milestone')
+ {
+ $pass_value = \@values;
+ }
+ else {
+ $pass_value = join(',', @values);
+ }
+ push(@charts, [$field_name, $operator, $pass_value]);
}
return @charts;
}