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;
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');
}
}
: 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');
}
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