summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormkanat%bugzilla.org <>2007-11-05 02:17:57 +0100
committermkanat%bugzilla.org <>2007-11-05 02:17:57 +0100
commit9f774e4a6de07003873bb20a68989d8e7f6fd544 (patch)
treea28d0a8a4caebf0a1d3e9fc9ca58effac54ae5c2
parent682cf8e706eac2deaf67dbce67bd6f775dd5e216 (diff)
downloadbugzilla-9f774e4a6de07003873bb20a68989d8e7f6fd544.tar.gz
bugzilla-9f774e4a6de07003873bb20a68989d8e7f6fd544.tar.xz
Bug 401953: Move work_time validation from process_bug to Bugzilla::Bug
Patch By Max Kanat-Alexander <mkanat@bugzilla.org> r=LpSolit, a=LpSolit
-rwxr-xr-xBugzilla/Bug.pm6
-rwxr-xr-xprocess_bug.cgi29
2 files changed, 8 insertions, 27 deletions
diff --git a/Bugzilla/Bug.pm b/Bugzilla/Bug.pm
index ba66e846f..7ffc3b52e 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 d7fee8199..027965f05 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);