From 1e400dc0114d167a38d37842e6165b9c34d7c8d9 Mon Sep 17 00:00:00 2001 From: "bbaetz%student.usyd.edu.au" <> Date: Fri, 22 Nov 2002 09:47:34 +0000 Subject: Bug 180966 - warnings in webserver error log (take 2) r=joel, a=justdave --- Bugzilla/User.pm | 2 +- process_bug.cgi | 44 ++++++++++++++++++++++++-------------------- showdependencytree.cgi | 2 +- 3 files changed, 26 insertions(+), 22 deletions(-) diff --git a/Bugzilla/User.pm b/Bugzilla/User.pm index b12b5e135..a45cf0976 100644 --- a/Bugzilla/User.pm +++ b/Bugzilla/User.pm @@ -267,7 +267,7 @@ sub match_field { next if !defined($vars->{'mform'}->{$field}); # Skip it if this is a --do_not_change-- field - next if $dontchange eq $vars->{'form'}->{$field}; + next if $dontchange && $dontchange eq $vars->{'form'}->{$field}; # We need to move the query to $raw_field, where it will be split up, # modified by the search, and put back into $::FORM and $::MFORM diff --git a/process_bug.cgi b/process_bug.cgi index 531706582..31638b343 100755 --- a/process_bug.cgi +++ b/process_bug.cgi @@ -109,6 +109,8 @@ if (defined $::FORM{'dup_id'} && $::FORM{'knob'} eq "duplicate") { ValidateComment($::FORM{'comment'}); +$::FORM{'dontchange'} = '' unless exists $::FORM{'dontchange'}; + # If the bug(s) being modified have dependencies, validate them # and rebuild the list with the validated values. This is important # because there are situations where validation changes the value @@ -730,20 +732,21 @@ if (defined $::FORM{'qa_contact'}) { } # jeff.hedlund@matrixsi.com time tracking data processing: -foreach my $field ("estimated_time", "remaining_time") { - - if (defined $::FORM{$field}) { - my $er_time = trim($::FORM{$field}); - if ($er_time ne $::FORM{'dontchange'}) { - if ($er_time > 99999.99) { - ThrowUserError("value_out_of_range", {field => $field}); - } - if ($er_time =~ /^(?:\d+(?:\.\d*)?|\.\d+)$/) { - DoComma(); - $::query .= "$field = " . SqlQuote($er_time); - } else { - $vars->{'field'} = $field; - ThrowUserError("need_positive_number"); +if (UserInGroup(Param('timetrackinggroup'))) { + foreach my $field ("estimated_time", "remaining_time") { + if (defined $::FORM{$field}) { + my $er_time = trim($::FORM{$field}); + if ($er_time ne $::FORM{'dontchange'}) { + if ($er_time > 99999.99) { + ThrowUserError("value_out_of_range", {field => $field}); + } + if ($er_time =~ /^(?:\d+(?:\.\d*)?|\.\d+)$/) { + DoComma(); + $::query .= "$field = " . SqlQuote($er_time); + } else { + $vars->{'field'} = $field; + ThrowUserError("need_positive_number"); + } } } } @@ -1202,18 +1205,19 @@ foreach my $id (@idlist) { SendSQL("select now()"); $timestamp = FetchOneColumn(); - if ($::FORM{'work_time'} > 99999.99) { + delete $::FORM{'work_time'} unless UserInGroup(Param('timetrackinggroup')); + + if ($::FORM{'work_time'} && $::FORM{'work_time'} > 99999.99) { ThrowUserError("value_out_of_range", {field => 'work_time'}); } - if (defined $::FORM{'comment'} || defined $::FORM{'work_time'}) { - if ($::FORM{'work_time'} != 0 && + if ($::FORM{'comment'} || $::FORM{'work_time'}) { + if ($::FORM{'work_time'} && (!defined $::FORM{'comment'} || $::FORM{'comment'} =~ /^\s*$/)) { - ThrowUserError('comment_required'); } else { AppendComment($id, $::COOKIE{'Bugzilla_login'}, $::FORM{'comment'}, - $::FORM{'commentprivacy'}, $timestamp, $::FORM{'work_time'}); - if ($::FORM{'work_time'} != 0) { + $::FORM{'commentprivacy'}, $timestamp, $::FORM{'work_time'}); + if ($::FORM{'work_time'}) { LogActivityEntry($id, "work_time", "", $::FORM{'work_time'}, $whoid, $timestamp); $bug_changed = 1; diff --git a/showdependencytree.cgi b/showdependencytree.cgi index e2e9d52b0..0508f078b 100755 --- a/showdependencytree.cgi +++ b/showdependencytree.cgi @@ -164,7 +164,7 @@ sub GetBug { $bug->{'assignee_email'}) = FetchSQLData(); } - $bug->{'open'} = IsOpenedState($bug->{'status'}); + $bug->{'open'} = $bug->{'exists'} && IsOpenedState($bug->{'status'}); $bug->{'dependencies'} = []; return $bug; -- cgit v1.2.3-24-g4f1b