From 5beadfdf43b75f17f985c7e3fa7939b6ded28baf Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Wed, 12 Sep 2012 09:50:16 +0200 Subject: [PATCH 1/1] Bug 8652: Followup: add a default value for date_from This patchis add a third parameter to the output_pref routine. It allows to specify the output string with or without the hours and minutes (%H:%M) --- Koha/DateUtils.pm | 22 +++++++++++++++++----- acqui/lateorders.pl | 33 +++++++++++++++++---------------- 2 files changed, 34 insertions(+), 21 deletions(-) diff --git a/Koha/DateUtils.pm b/Koha/DateUtils.pm index b2c1df8..4ffc160 100644 --- a/Koha/DateUtils.pm +++ b/Koha/DateUtils.pm @@ -101,11 +101,15 @@ or C if C was provided. A second parameter allows overriding of the syspref value. This is for testing only In usage use the DateTime objects own methods for non standard formatting +A third parameter allows to specify if the output format contains the hours and minutes. +If it is not defined, the default value is 0; + =cut sub output_pref { my $dt = shift; - my $force_pref = shift; # if testing we want to override Context + my $force_pref = shift; # if testing we want to override Context + my $dateonly = shift || 0; # if you don't want the hours and minutes return unless defined $dt; @@ -113,16 +117,24 @@ sub output_pref { defined $force_pref ? $force_pref : C4::Context->preference('dateformat'); given ($pref) { when (/^iso/) { - return $dt->strftime('%Y-%m-%d %H:%M'); + return $dateonly + ? $dt->strftime('%Y-%m-%d') + : $dt->strftime('%Y-%m-%d %H:%M'); } when (/^metric/) { - return $dt->strftime('%d/%m/%Y %H:%M'); + return $dateonly + ? $dt->strftime('%d/%m/%Y') + : $dt->strftime('%d/%m/%Y %H:%M'); } when (/^us/) { - return $dt->strftime('%m/%d/%Y %H:%M'); + return $dateonly + ? $dt->strftime('%m/%d/%Y') + : $dt->strftime('%m/%d/%Y %H:%M'); } default { - return $dt->strftime('%Y-%m-%d %H:%M'); + return $dateonly + ? $dt->strftime('%Y-%m-%d') + : $dt->strftime('%Y-%m-%d %H:%M'); } } diff --git a/acqui/lateorders.pl b/acqui/lateorders.pl index 50e0f0e..544370d 100755 --- a/acqui/lateorders.pl +++ b/acqui/lateorders.pl @@ -78,16 +78,18 @@ my $estimateddeliverydatefrom_dt = : undef; # Get the "date to" param. If it is not defined and $delay is not defined too, it is the today's date. -my $estimateddeliverydateto_dt = dt_from_string($estimateddeliverydateto); +my $estimateddeliverydateto_dt = $estimateddeliverydateto + ? dt_from_string($estimateddeliverydateto) + : ( not defined $delay and not defined $estimateddeliverydatefrom) + ? dt_from_string() + : undef; # Format the output of "date from" and "date to" -if ($estimateddeliverydatefrom) { - $estimateddeliverydatefrom = output_pref($estimateddeliverydatefrom_dt); - $estimateddeliverydatefrom =~ s/ \d\d:\d\d$//; +if ($estimateddeliverydatefrom_dt) { + $estimateddeliverydatefrom = output_pref($estimateddeliverydatefrom_dt, undef, 1); } -if ($estimateddeliverydateto) { - $estimateddeliverydateto = output_pref($estimateddeliverydateto_dt); - $estimateddeliverydateto =~ s/ \d\d:\d\d$//; +if ($estimateddeliverydateto_dt) { + $estimateddeliverydateto = output_pref($estimateddeliverydateto_dt, undef, 1); } my $branch = $input->param('branch'); @@ -117,15 +119,14 @@ if ($op and $op eq "send_alert"){ } my @parameters = ( $delay, $branch ); -if ($estimateddeliverydatefrom_dt) { - push @parameters, $estimateddeliverydatefrom_dt->ymd(); -} -else { - push @parameters, undef; -} -if ($estimateddeliverydateto_dt) { - push @parameters, $estimateddeliverydateto_dt->ymd(); -} +push @parameters, $estimateddeliverydatefrom_dt + ? $estimateddeliverydatefrom_dt->ymd() + : undef; + +push @parameters, $estimateddeliverydateto_dt + ? $estimateddeliverydateto_dt->ymd() + : undef; + my %supplierlist = GetBooksellersWithLateOrders(@parameters); my (@sloopy); # supplier loop -- 1.7.10.4