diff options
author | Byron Jones <bjones@mozilla.com> | 2012-06-12 15:38:01 +0200 |
---|---|---|
committer | Byron Jones <bjones@mozilla.com> | 2012-06-12 15:38:01 +0200 |
commit | eac19ea6532a8c7c940f3eb14a8f98466b583d56 (patch) | |
tree | 144ba418d3839ed355020cc4535d08dbc78d561a /Bugzilla | |
parent | ba37aef75a5f754a735649704ff40a81780daf16 (diff) | |
parent | 89b41766cc47e26c59bfd95e351ab7767c394ab9 (diff) | |
download | bugzilla-eac19ea6532a8c7c940f3eb14a8f98466b583d56.tar.gz bugzilla-eac19ea6532a8c7c940f3eb14a8f98466b583d56.tar.xz |
merge from bugzilla/4.2
Diffstat (limited to 'Bugzilla')
-rw-r--r-- | Bugzilla/Bug.pm | 6 | ||||
-rw-r--r-- | Bugzilla/Search.pm | 6 |
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); } |