TPAC: Invalid due dates cause 500 server error
authorDan Scott <dan@coffeecode.net>
Mon, 8 Oct 2012 15:25:41 +0000 (11:25 -0400)
committerDan Scott <dscott@laurentian.ca>
Mon, 8 Oct 2012 15:30:41 +0000 (11:30 -0400)
commit5533c9a07dd0c3088de6d868ca3617bae2e4088b
tree0f0e2def852cdc42ec920235aad5f085e4b15dae
parentee8d5613cd3bc469678deece795fb43adb0e8f91
TPAC: Invalid due dates cause 500 server error

CStore appears to return dates with leading 0s (such as '0212-10-08
23:59:59-05:17:32') with the leading 0s stripped off, resulting in
cases with 1-digit or 3-digit years for which DateTime::Format::ISO8601
returns an error.

We can protect against this problem by adding some defensive code to the
TPAC utility method to add the 0s back to the start of the year. We can
also log the problem when it occurs so that administrators can fix the
problem dates in the database.

Signed-off-by: Dan Scott <dan@coffeecode.net>
Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Util.pm