]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 428452: Move code to set/modify keywords from process_bug.cgi into
authorMax Kanat-Alexander <mkanat@bugzilla.org>
Sun, 16 May 2010 22:21:29 +0000 (15:21 -0700)
committerMax Kanat-Alexander <mkanat@bugzilla.org>
Sun, 16 May 2010 22:21:29 +0000 (15:21 -0700)
Bugzilla::Bug::set_all
r=dkl, a=mkanat

Bugzilla/Bug.pm
process_bug.cgi

index 840ff91d6778a1b294db0595c415a82c7f232000..ee53a0aaeee1d6c1c137d63c25665c8a28093b7b 100644 (file)
@@ -1854,6 +1854,11 @@ sub set_all {
     my $self = shift;
     my ($params) = @_;
 
+    if (exists $params->{'keywords'}) {
+        $self->modify_keywords($params->{'keywords'},
+                               $params->{'keywords_action'});
+    }
+
     if (exists $params->{'comment'} or exists $params->{'work_time'}) {
         # Add a comment as needed to each bug. This is done early because
         # there are lots of things that want to check if we added a comment.
@@ -2350,7 +2355,6 @@ sub modify_keywords {
     }
 
     $self->{'keyword_objects'} = \@result;
-    return $any_changes;
 }
 
 sub add_group {
index ef8f41070a93786fe333bb4d57ca02e66abf3336..0753773dff49cef730647ab7d3936c8bfcdc9cea 100755 (executable)
@@ -306,16 +306,6 @@ elsif (should_set('dependson') || should_set('blocked')) {
     }
 }
 
-my $any_keyword_changes;
-if (defined $cgi->param('keywords')) {
-    foreach my $b (@bug_objects) {
-        my $return =
-            $b->modify_keywords(scalar $cgi->param('keywords'),
-                                scalar $cgi->param('keywordaction'));
-        $any_keyword_changes ||= $return;
-    }
-}
-
 # Component, target_milestone, and version are in here just in case
 # the 'product' field wasn't defined in the CGI. It doesn't hurt to set
 # them twice.
@@ -323,7 +313,8 @@ my @set_fields = qw(op_sys rep_platform priority bug_severity
                     component target_milestone version
                     bug_file_loc status_whiteboard short_desc
                     deadline remaining_time estimated_time
-                    work_time set_default_assignee set_default_qa_contact);
+                    work_time set_default_assignee set_default_qa_contact
+                    keywords keywordaction);
 push(@set_fields, 'assigned_to') if !$cgi->param('set_default_assignee');
 push(@set_fields, 'qa_contact')  if !$cgi->param('set_default_qa_contact');
 my %field_translation = (
@@ -333,6 +324,7 @@ my %field_translation = (
     bug_file_loc => 'url',
     set_default_assignee   => 'reset_assigned_to',
     set_default_qa_contact => 'reset_qa_contact',
+    keywordaction => 'keywords_action',
 );
 
 my %set_all_fields;