]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 839950: Cannot search by Change History on multi-select fields
authorMatt Tyson <mtyson@redhat.com>
Sun, 17 Feb 2013 01:16:55 +0000 (02:16 +0100)
committerFrédéric Buclin <LpSolit@gmail.com>
Sun, 17 Feb 2013 01:16:55 +0000 (02:16 +0100)
r/a=LpSolit

Bugzilla/Bug.pm

index b3f78200238bd8b45a5303f8d3ca4fea94dbcfd7..703ef1bb635de1a35f9bd6cd178fcfb9cded9f05 100644 (file)
@@ -3770,9 +3770,13 @@ sub bug_alias_to_id {
 # Subroutines
 #####################################################################
 
-# Represents which fields from the bugs table are handled by process_bug.cgi.
+# Returns a list of currently active and editable bug fields,
+# including multi-select fields.
 sub editable_bug_fields {
     my @fields = Bugzilla->dbh->bz_table_columns('bugs');
+    # Add multi-select fields
+    push(@fields, map { $_->name } @{Bugzilla->fields({obsolete => 0,
+                                                       type => FIELD_TYPE_MULTI_SELECT})});
     # Obsolete custom fields are not editable.
     my @obsolete_fields = @{ Bugzilla->fields({obsolete => 1, custom => 1}) };
     @obsolete_fields = map { $_->name } @obsolete_fields;
@@ -3780,7 +3784,7 @@ sub editable_bug_fields {
                         "lastdiffed", @obsolete_fields) 
     {
         my $location = firstidx { $_ eq $remove } @fields;
-        # Custom multi-select fields are not stored in the bugs table.
+        # Ensure field exists before attempting to remove it.
         splice(@fields, $location, 1) if ($location > -1);
     }
     return @fields;