]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 478771: Bugzilla::Search should drop invalid bug statuses from the search criteria
authorDavid Lawrence <dkl@redhat.com>
Mon, 10 May 2010 14:32:10 +0000 (10:32 -0400)
committerDavid Lawrence <dkl@redhat.com>
Mon, 10 May 2010 14:32:10 +0000 (10:32 -0400)
r/a=mkanat

Bugzilla/Search.pm

index d9f1d203974f36131b1dfbac1b2a2c1fa79e1a8b..8fda3dfbcfdb73bb1c48b9618e14d3f56b252090 100644 (file)
@@ -302,7 +302,14 @@ sub init {
         my @legal_statuses =
           map {$_->name} @{Bugzilla::Field->new({name => 'bug_status'})->legal_values};
 
-        if (scalar(@bug_statuses) == scalar(@legal_statuses)
+        # Filter out any statuses that have been removed completely that are still 
+        # being used by the client
+        my @valid_statuses;
+        foreach my $status (@bug_statuses) {
+            push(@valid_statuses, $status) if grep($_ eq $status, @legal_statuses);
+        }
+        
+        if (scalar(@valid_statuses) == scalar(@legal_statuses)
             || $bug_statuses[0] eq "__all__")
         {
             $params->delete('bug_status');
@@ -315,6 +322,9 @@ sub init {
             $params->param('bug_status', grep(!is_open_state($_), 
                                               @legal_statuses));
         }
+        else {
+            $params->param('bug_status', @valid_statuses);
+        }
     }
     
     if ($params->param('resolution')) {