]> 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>
Fri, 7 May 2010 16:39:52 +0000 (12:39 -0400)
committerDavid Lawrence <dkl@redhat.com>
Fri, 7 May 2010 16:39:52 +0000 (12:39 -0400)
r/a=mkanat

Bugzilla/Search.pm

index 9bdc35182c542d7278b3242eafee3198688d2d60..271e2329861202ec3c7988e8c109b51dab0fa945 100644 (file)
@@ -312,7 +312,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');
@@ -325,6 +332,9 @@ sub init {
             $params->param('bug_status', grep(!is_open_state($_), 
                                               @legal_statuses));
         }
+        else {
+            $params->param('bug_status', @valid_statuses);
+        }
     }
     
     if ($params->param('resolution')) {