From: Frédéric Buclin Date: Mon, 18 Jul 2011 00:32:39 +0000 (+0200) Subject: Bug 561170: Date validations are done in the wrong order, generating unwanted warnings X-Git-Tag: bugzilla-4.1.3~39 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2ceff04544490ec387f50ca1d406f4689d63fc6a;p=thirdparty%2Fbugzilla.git Bug 561170: Date validations are done in the wrong order, generating unwanted warnings r=dkl a=LpSolit --- diff --git a/summarize_time.cgi b/summarize_time.cgi index 6f9580ac29..dd8ba741b4 100755 --- a/summarize_time.cgi +++ b/summarize_time.cgi @@ -264,7 +264,7 @@ $user->is_timetracker action => "access", object => "timetracking_summaries"}); -my @ids = split(",", $cgi->param('id')); +my @ids = split(",", $cgi->param('id') || ''); @ids = map { Bugzilla::Bug->check($_)->id } @ids; scalar(@ids) || ThrowUserError('no_bugs_chosen', {action => 'view'}); @@ -293,17 +293,17 @@ if ($do_report) { $start_date = trim $cgi->param('start_date'); $end_date = trim $cgi->param('end_date'); + foreach my $date ($start_date, $end_date) { + next unless $date; + validate_date($date) + || ThrowUserError('illegal_date', {date => $date, format => 'YYYY-MM-DD'}); + } # Swap dates in case the user put an end_date before the start_date if ($start_date && $end_date && str2time($start_date) > str2time($end_date)) { $vars->{'warn_swap_dates'} = 1; ($start_date, $end_date) = ($end_date, $start_date); } - foreach my $date ($start_date, $end_date) { - next unless $date; - validate_date($date) - || ThrowUserError('illegal_date', {date => $date, format => 'YYYY-MM-DD'}); - } # Store dates in a session cookie so re-visiting the page # for other bugs keeps them around.