From: mkanat%bugzilla.org <> Date: Mon, 5 Nov 2007 01:17:57 +0000 (+0000) Subject: Bug 401953: Move work_time validation from process_bug to Bugzilla::Bug X-Git-Tag: bugzilla-3.1.3~478 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9f774e4a6de07003873bb20a68989d8e7f6fd544;p=thirdparty%2Fbugzilla.git Bug 401953: Move work_time validation from process_bug to Bugzilla::Bug Patch By Max Kanat-Alexander r=LpSolit, a=LpSolit --- diff --git a/Bugzilla/Bug.pm b/Bugzilla/Bug.pm index ba66e846fa..7ffc3b52e3 100755 --- a/Bugzilla/Bug.pm +++ b/Bugzilla/Bug.pm @@ -496,6 +496,10 @@ sub update { $dbh->do("INSERT INTO longdescs (bug_id, who, bug_when, $columns) VALUES (?,?,?,$qmarks)", undef, $self->bug_id, Bugzilla->user->id, $delta_ts, @values); + if ($comment->{work_time}) { + LogActivityEntry($self->id, "work_time", "", $comment->{work_time}, + Bugzilla->user->id, $delta_ts); + } } # Insert the values into the multiselect value tables @@ -1547,6 +1551,8 @@ sub add_comment { $params ||= {}; if (exists $params->{work_time}) { $params->{work_time} = $self->_check_work_time($params->{work_time}); + ThrowUserError('comment_required') + if $comment eq '' && $params->{work_time} != 0; } if (exists $params->{type}) { $params->{type} = $self->_check_comment_type($params->{type}); diff --git a/process_bug.cgi b/process_bug.cgi index d7fee81992..027965f057 100755 --- a/process_bug.cgi +++ b/process_bug.cgi @@ -164,21 +164,6 @@ $cgi->param('dontchange','') unless defined $cgi->param('dontchange'); # Make sure the 'knob' param is defined; else set it to 'none'. $cgi->param('knob', 'none') unless defined $cgi->param('knob'); -# Validate work_time -if (defined $cgi->param('work_time') - && $cgi->param('work_time') ne $cgi->param('dontchange')) -{ - $cgi->param('work_time', $bug->_check_time($cgi->param('work_time'), - 'work_time')); -} - -if (Bugzilla->user->in_group(Bugzilla->params->{'timetrackinggroup'})) { - my $wk_time = $cgi->param('work_time'); - if (!comment_exists() && $wk_time && $wk_time != 0) { - ThrowUserError('comment_required'); - } -} - $cgi->param('comment', $bug->_check_comment($cgi->param('comment'))); # If the bug(s) being modified have dependencies, validate them @@ -927,17 +912,12 @@ foreach my $id (@idlist) { exit; } - my $work_time; - if (Bugzilla->user->in_group(Bugzilla->params->{'timetrackinggroup'})) { - $work_time = $cgi->param('work_time'); - } - - if ($cgi->param('comment') || $work_time || $duplicate) { + if ($cgi->param('comment') || $cgi->param('work_time') || $duplicate) { my $type = $duplicate ? CMT_DUPE_OF : CMT_NORMAL; $bug_objects{$id}->add_comment(scalar($cgi->param('comment')), { isprivate => scalar($cgi->param('commentprivacy')), - work_time => $work_time, type => $type, + work_time => scalar $cgi->param('work_time'), type => $type, extra_data => $duplicate}); $bug_changed = 1; } @@ -948,11 +928,6 @@ foreach my $id (@idlist) { $timestamp = $dbh->selectrow_array(q{SELECT NOW()}); - if ($work_time) { - LogActivityEntry($id, "work_time", "", $work_time, - $whoid, $timestamp); - } - $bug_objects{$id}->update($timestamp); $bug_objects{$id}->update_keywords($timestamp);