diff options
Diffstat (limited to 'Bugzilla')
-rw-r--r-- | Bugzilla/Bug.pm | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/Bugzilla/Bug.pm b/Bugzilla/Bug.pm index 2335d0caa..c32672ce2 100644 --- a/Bugzilla/Bug.pm +++ b/Bugzilla/Bug.pm @@ -501,6 +501,33 @@ sub run_create_validators { return $params; } +sub set_all { + my ($self, $args) = @_; + + # For security purposes, and because lots of other checks depend on it, + # we set the product first before anything else. + my $product_change = 0; + if ($args->{product}) { + my $changed = $self->set_product($args->{product}, + { component => $args->{component}, + version => $args->{version}, + target_milestone => $args->{target_milestone}, + change_confirmed => $args->{confirm_product_change}, + other_bugs => $args->{other_bugs}, + }); + # that will be used later to check strict isolation + $product_change = $changed; + } + + # add/remove groups + $self->remove_group($_) foreach @{$args->{remove_group}}; + $self->add_group($_) foreach @{$args->{add_group}}; + + # this is temporary until all related code is moved from + # process_bug.cgi to set_all + return $product_change; +} + sub update { my $self = shift; |