Corner case where monday > sunday = all closed hours
authorDan Scott <dscott@laurentian.ca>
Wed, 18 Feb 2015 19:31:08 +0000 (14:31 -0500)
committerDan Scott <dscott@laurentian.ca>
Wed, 18 Feb 2015 19:31:08 +0000 (14:31 -0500)
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Open-ILS/src/support-scripts/parse_library_hours

index f0d4829..67ffc40 100644 (file)
@@ -68,6 +68,11 @@ my $fri = DateTime->now( time_zone => 'local' )->set_time_zone('floating')->add(
 my $sat = DateTime->now( time_zone => 'local' )->set_time_zone('floating')->add(days => determine_date(6, $dow))->ymd;
 my $sun = DateTime->now( time_zone => 'local' )->set_time_zone('floating')->add(days => determine_date(7, $dow))->ymd;
 
+# Hack to prevent Sunday from being less than Monday, which returns all closed hours :/
+if ($sun lt $mon) {
+    $sun = DateTime->now( time_zone => 'local' )->set_time_zone('floating')->add(days => (7 + 7 - $dow))->ymd;
+}
+
 my $baseUrl = 'http://laurentian.ca/sites/all/themes/lul/templates/includes/feeds/json.librarycal.php';
 $baseUrl .= "?lang=en&start=$mon&end=$sun";