summaryrefslogtreecommitdiffstats
path: root/Bugzilla
diff options
context:
space:
mode:
authorByron Jones <bjones@mozilla.com>2012-06-12 15:38:01 +0200
committerByron Jones <bjones@mozilla.com>2012-06-12 15:38:01 +0200
commiteac19ea6532a8c7c940f3eb14a8f98466b583d56 (patch)
tree144ba418d3839ed355020cc4535d08dbc78d561a /Bugzilla
parentba37aef75a5f754a735649704ff40a81780daf16 (diff)
parent89b41766cc47e26c59bfd95e351ab7767c394ab9 (diff)
downloadbugzilla-eac19ea6532a8c7c940f3eb14a8f98466b583d56.tar.gz
bugzilla-eac19ea6532a8c7c940f3eb14a8f98466b583d56.tar.xz
merge from bugzilla/4.2
Diffstat (limited to 'Bugzilla')
-rw-r--r--Bugzilla/Bug.pm6
-rw-r--r--Bugzilla/Search.pm6
2 files changed, 9 insertions, 3 deletions
diff --git a/Bugzilla/Bug.pm b/Bugzilla/Bug.pm
index 5fb4551e4..b1b4738f5 100644
--- a/Bugzilla/Bug.pm
+++ b/Bugzilla/Bug.pm
@@ -1966,6 +1966,12 @@ sub _check_field_is_mandatory {
return if !$field->is_visible_on_bug($params || $invocant);
+ return if ($field->type == FIELD_TYPE_SINGLE_SELECT
+ && scalar @{ get_legal_field_values($field->name) } == 1);
+
+ return if ($field->type == FIELD_TYPE_MULTI_SELECT
+ && !scalar @{ get_legal_field_values($field->name) });
+
if (ref($value) eq 'ARRAY') {
$value = join('', @$value);
}
diff --git a/Bugzilla/Search.pm b/Bugzilla/Search.pm
index e70933db0..9b92b57d1 100644
--- a/Bugzilla/Search.pm
+++ b/Bugzilla/Search.pm
@@ -2536,6 +2536,7 @@ sub _multiselect_multiple {
my @terms;
foreach my $word (@words) {
+ next if $word eq '';
$args->{value} = $word;
$args->{quoted} = $dbh->quote($word);
push(@terms, $self->_multiselect_term($args));
@@ -2703,15 +2704,14 @@ sub _anyexact {
sub _anywordsubstr {
my ($self, $args) = @_;
- my ($full_field, $value) = @$args{qw(full_field value)};
-
+
my @terms = $self->_substring_terms($args);
$args->{term} = join("\n\tOR ", @terms);
}
sub _allwordssubstr {
my ($self, $args) = @_;
-
+
my @terms = $self->_substring_terms($args);
$args->{term} = join("\n\tAND ", @terms);
}