[open-ils-commits] [GIT] Evergreen ILS branch master updated. 75c6b77aabfd5fc0c1db36aa3b7b4f0d7357dd4a
Evergreen Git
git at git.evergreen-ils.org
Fri Jan 3 13:47:21 EST 2020
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Evergreen ILS".
The branch, master has been updated
via 75c6b77aabfd5fc0c1db36aa3b7b4f0d7357dd4a (commit)
from aa9b7c4a07bb143c8a001e2c5a3e4ff84f4748d3 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 75c6b77aabfd5fc0c1db36aa3b7b4f0d7357dd4a
Author: Galen Charlton <gmc at equinoxinitiative.org>
Date: Fri Dec 20 12:55:16 2019 -0500
LP#1857156: handle HHH:MM:SS durations in loans
This patch fixes a problem where loan durations of the form
HHH:MM:SS, where the hours component is longer than 2 digits, could
cause checkouts to fail. This sort of duration has been observed
in cases where a library wanted a long-term reserves loan that
doesn't have the due time bumped up to midnight.
To test
-------
[1] Set up a circulation policy that has a loan duration of 167:59:59.
[2] Attempt a checkout that uses that policy. Note that the checkout
will fail.
[3] Apply the patch and repeat step 2. This time, the checkout should
succeed.
Signed-off-by: Galen Charlton <gmc at equinoxinitiative.org>
Signed-off-by: Dan Scott <dan at coffeecode.net>
Signed-off-by: Michele Morgan <mmorgan at noblenet.org>
diff --git a/Open-ILS/src/perlmods/lib/OpenILS/Utils/DateTime.pm b/Open-ILS/src/perlmods/lib/OpenILS/Utils/DateTime.pm
index 1da0951f40..bef04c5afb 100644
--- a/Open-ILS/src/perlmods/lib/OpenILS/Utils/DateTime.pm
+++ b/Open-ILS/src/perlmods/lib/OpenILS/Utils/DateTime.pm
@@ -109,7 +109,7 @@ sub interval_to_seconds {
my $interval = ($class eq __PACKAGE__) ? shift : $class;
my $context = shift;
- $interval =~ s/(\d{2}):(\d{2}):(\d{2})/ $1 h $2 min $3 s /go;
+ $interval =~ s/(\d{2,}):(\d{2}):(\d{2})/ $1 h $2 min $3 s /go;
$interval =~ s/and/,/g;
$interval =~ s/,/ /g;
diff --git a/Open-ILS/src/perlmods/t/14-OpenILS-Utils.t b/Open-ILS/src/perlmods/t/14-OpenILS-Utils.t
index 81cf90ffae..2aa2afb5d3 100644
--- a/Open-ILS/src/perlmods/t/14-OpenILS-Utils.t
+++ b/Open-ILS/src/perlmods/t/14-OpenILS-Utils.t
@@ -14,7 +14,7 @@
# truckload to verify that everything would continue to work if
# we turn it on across the board.
-use Test::More tests => 47;
+use Test::More tests => 48;
use Test::Warn;
use DateTime::TimeZone;
use DateTime::Format::ISO8601;
@@ -140,6 +140,7 @@ is (OpenILS::Utils::DateTime::interval_to_seconds('1 month',
is (OpenILS::Utils::DateTime::interval_to_seconds('1 year'), 31536000);
is (OpenILS::Utils::DateTime::interval_to_seconds('1 year 1 second'), 31536001);
+is (OpenILS::Utils::DateTime::interval_to_seconds('167:59:59'), 604799, 'correctly convert HHH:MM:SS intervals where hours longer than 2 digits');
sub get_offset {
# get current timezone offset for future use
-----------------------------------------------------------------------
Summary of changes:
Open-ILS/src/perlmods/lib/OpenILS/Utils/DateTime.pm | 2 +-
Open-ILS/src/perlmods/t/14-OpenILS-Utils.t | 3 ++-
2 files changed, 3 insertions(+), 2 deletions(-)
hooks/post-receive
--
Evergreen ILS
More information about the open-ils-commits
mailing list