From: erickson Date: Mon, 2 Mar 2009 17:27:32 +0000 (+0000) Subject: added CircIsOverdue validator X-Git-Tag: sprint4-merge-nov22~10668 X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=aa18891bdc266c39c8fc2c9d0378cc714e4dffb7;p=working%2FEvergreen.git added CircIsOverdue validator git-svn-id: svn://svn.open-ils.org/ILS/trunk@12352 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- diff --git a/Open-ILS/src/perlmods/OpenILS/Application/Trigger/Validator.pm b/Open-ILS/src/perlmods/OpenILS/Application/Trigger/Validator.pm index d97b911fb6..c8c74339b2 100644 --- a/Open-ILS/src/perlmods/OpenILS/Application/Trigger/Validator.pm +++ b/Open-ILS/src/perlmods/OpenILS/Application/Trigger/Validator.pm @@ -1,4 +1,6 @@ package OpenILS::Application::Trigger::Validator; +use DateTime; +use DateTime::Format::ISO8601; sub fourty_two { return 42 } sub NOOP_True { return 1 } sub NOOP_False { return 0 } @@ -10,6 +12,16 @@ sub CircIsOpen { return defined($env->{target}->checkin_time) ? 0 : 1; } +sub CircIsOverdue { + my $self; + my $env; + my $circ = $env->{target}; + return 0 if $circ->checkin_time; + return 0 if $circ->stop_fines and not $circ->stop_fines =~ /MAXFINES|LONGOVERDUE/; + return 0 if DateTime::Format::ISO8601->new->parse_datetime($circ->due_date) < DateTime->now; + return 1; +} + sub HoldIsAvailable { my $self = shift; my $env = shift;