This patch fixes the date formats in the holiday display tables. They are now based on the syspref for date formats.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
while (my $row = $repeatable->fetchrow_hashref) {
my $key = $row->{month} . "/" . $row->{day};
$day_month_holidays{$key}{title} = $row->{title};
- $day_month_holidays{$key}{description} = $row->{description}
+ $day_month_holidays{$key}{description} = $row->{description};
+ $day_month_holidays{$key}{day} = sprintf("%02d", $row->{day});
+ $day_month_holidays{$key}{month} = sprintf("%02d", $row->{month});
}
$self->{'day_month_holidays'} = \%day_month_holidays;
while (my ($day, $month, $year, $title, $description) = $special->fetchrow) {
$exception_holidays{"$year/$month/$day"}{title} = $title;
$exception_holidays{"$year/$month/$day"}{description} = $description;
+ $exception_holidays{"$year/$month/$day"}{date} =
+ sprintf("%04d-%02d-%02d", $year, $month, $day);
}
$self->{'exception_holidays'} = \%exception_holidays;
while (my ($day, $month, $year, $title, $description) = $special->fetchrow) {
$single_holidays{"$year/$month/$day"}{title} = $title;
$single_holidays{"$year/$month/$day"}{description} = $description;
+ $single_holidays{"$year/$month/$day"}{date} =
+ sprintf("%04d-%02d-%02d", $year, $month, $day);
}
$self->{'single_holidays'} = \%single_holidays;
return $self;
<h3>Exceptions</h3>
<table id="holidayexceptions">
<thead><tr>
- <th class="exception">Year/Month/Day</th>
+ <th class="exception">Date</th>
<th class="exception">Title</th>
<th class="exception">Description</th>
</tr>
<tbody>
<!-- TMPL_LOOP NAME="EXCEPTION_HOLIDAYS_LOOP" -->
<tr>
- <td><!-- TMPL_VAR NAME="KEY" --></td>
+ <td><!-- TMPL_VAR NAME="DATE" --></td>
<td><!-- TMPL_VAR NAME="TITLE" --></td>
<td><!-- TMPL_VAR NAME="DESCRIPTION" --></td>
</tr>
<table id="holidaysyearlyrepeatable">
<thead>
<tr>
+ <!-- TMPL_IF EXPR="dateformat eq 'metric'" -->
+ <th class="repeatableday">Day/Month</th>
+ <!-- TMPL_ELSE -->
<th class="repeatableday">Month/Day</th>
+ <!-- /TMPL_IF -->
<th class="repeatableday">Title</th>
<th class="repeatableday">Description</th>
</tr>
<tbody>
<!-- TMPL_LOOP NAME="DAY_MONTH_HOLIDAYS_LOOP" -->
<tr>
- <td><!-- TMPL_VAR NAME="KEY" --></td>
+ <td><!-- TMPL_VAR NAME="DATE" --></td>
<td><!-- TMPL_VAR NAME="TITLE" --></td>
<td><!-- TMPL_VAR NAME="DESCRIPTION" --></td>
</tr>
<table id="holidaysunique">
<thead>
<tr>
- <th class="holiday">Year/Month/Day</th>
+ <th class="holiday">Date</th>
<th class="holiday">Title</th>
<th class="holiday">Description</th>
</tr>
<tbody>
<!-- TMPL_LOOP NAME="HOLIDAYS_LOOP" -->
<tr>
- <td><!-- TMPL_VAR NAME="KEY" --></td>
+ <td><!-- TMPL_VAR NAME="DATE" --></td>
<td><!-- TMPL_VAR NAME="TITLE" --></td>
<td><!-- TMPL_VAR NAME="DESCRIPTION" --></td>
</tr>
my $day_month_holidays = $calendar->get_day_month_holidays();
my @day_month_holidays;
foreach my $monthDay (keys %$day_month_holidays) {
+ # Determine date format on month and day.
+ my $day_monthdate;
+ if (C4::Context->preference("dateformat") eq "metric") {
+ $day_monthdate = "$day_month_holidays->{$monthDay}{day}/$day_month_holidays->{$monthDay}{month}";
+ } elsif (C4::Context->preference("dateformat") eq "us") {
+ $day_monthdate = "$day_month_holidays->{$monthDay}{month}/$day_month_holidays->{$monthDay}{day}";
+ } else {
+ $day_monthdate = "$day_month_holidays->{$monthDay}{month}-$day_month_holidays->{$monthDay}{day}";
+ }
my %day_month;
%day_month = (KEY => $monthDay,
+ DATE => $day_monthdate,
TITLE => $day_month_holidays->{$monthDay}{title},
DESCRIPTION => $day_month_holidays->{$monthDay}{description});
push @day_month_holidays, \%day_month;
my $exception_holidays = $calendar->get_exception_holidays();
my @exception_holidays;
foreach my $yearMonthDay (keys %$exception_holidays) {
+ my $exceptiondate = C4::Dates->new($exception_holidays->{$yearMonthDay}{date}, "iso");
my %exception_holiday;
%exception_holiday = (KEY => $yearMonthDay,
+ DATE => $exceptiondate->output("syspref"),
TITLE => $exception_holidays->{$yearMonthDay}{title},
DESCRIPTION => $exception_holidays->{$yearMonthDay}{description});
push @exception_holidays, \%exception_holiday;
my $single_holidays = $calendar->get_single_holidays();
my @holidays;
foreach my $yearMonthDay (keys %$single_holidays) {
+ my $holidaydate = C4::Dates->new($single_holidays->{$yearMonthDay}{date}, "iso");
my %holiday;
%holiday = (KEY => $yearMonthDay,
+ DATE => $holidaydate->output("syspref"),
TITLE => $single_holidays->{$yearMonthDay}{title},
DESCRIPTION => $single_holidays->{$yearMonthDay}{description});
push @holidays, \%holiday;