Commit 20ed8a92 authored by Max Kanat-Alexander's avatar Max Kanat-Alexander

Bug 556123: process_bug.cgi: move the setting of comments and work_time

into Bugzilla::Bug::set_all r=dkl, a=mkanat
parent 72d9f52a
...@@ -1848,6 +1848,27 @@ sub _set_global_validator { ...@@ -1848,6 +1848,27 @@ sub _set_global_validator {
# "Set" Methods # # "Set" Methods #
################# #################
sub set_all {
my $self = shift;
my ($params) = @_;
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.
$self->add_comment($params->{'comment'}->{'body'},
{ isprivate => $params->{'comment'}->{'is_private'},
work_time => $params->{'work_time'} });
}
my %normal_set_all;
foreach my $name (keys %$params) {
if ($self->can("set_$name")) {
$normal_set_all{$name} = $params->{$name};
}
}
$self->SUPER::set_all(\%normal_set_all);
}
sub set_alias { $_[0]->set('alias', $_[1]); } sub set_alias { $_[0]->set('alias', $_[1]); }
sub set_assigned_to { sub set_assigned_to {
my ($self, $value) = @_; my ($self, $value) = @_;
......
...@@ -322,7 +322,8 @@ if (defined $cgi->param('keywords')) { ...@@ -322,7 +322,8 @@ if (defined $cgi->param('keywords')) {
my @set_fields = qw(op_sys rep_platform priority bug_severity my @set_fields = qw(op_sys rep_platform priority bug_severity
component target_milestone version component target_milestone version
bug_file_loc status_whiteboard short_desc bug_file_loc status_whiteboard short_desc
deadline remaining_time estimated_time); deadline remaining_time estimated_time
work_time);
push(@set_fields, 'assigned_to') if !$cgi->param('set_default_assignee'); push(@set_fields, 'assigned_to') if !$cgi->param('set_default_assignee');
push(@set_fields, 'qa_contact') if !$cgi->param('set_default_qa_contact'); push(@set_fields, 'qa_contact') if !$cgi->param('set_default_qa_contact');
my %field_translation = ( my %field_translation = (
...@@ -340,16 +341,16 @@ foreach my $field_name (@set_fields) { ...@@ -340,16 +341,16 @@ foreach my $field_name (@set_fields) {
} }
} }
if (should_set('comment')) {
$set_all_fields{comment} = {
body => scalar $cgi->param('comment'),
is_private => scalar $cgi->param('commentprivacy'),
};
}
my @custom_fields = Bugzilla->active_custom_fields; my @custom_fields = Bugzilla->active_custom_fields;
foreach my $b (@bug_objects) { foreach my $b (@bug_objects) {
if (should_set('comment') || $cgi->param('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.
$b->add_comment(scalar($cgi->param('comment')),
{ isprivate => scalar $cgi->param('commentprivacy'),
work_time => scalar $cgi->param('work_time') });
}
$b->set_all(\%set_all_fields); $b->set_all(\%set_all_fields);
$b->reset_assigned_to if $cgi->param('set_default_assignee'); $b->reset_assigned_to if $cgi->param('set_default_assignee');
$b->reset_qa_contact if $cgi->param('set_default_qa_contact'); $b->reset_qa_contact if $cgi->param('set_default_qa_contact');
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment