1 package OpenILS::Application::Trigger::Validator;
2 use strict; use warnings;
4 use DateTime::Format::ISO8601;
5 use OpenSRF::Utils qw/:datetime/;
6 use OpenSRF::Utils::Logger qw/:logger/;
7 sub fourty_two { return 42 }
8 sub NOOP_True { return 1 }
9 sub NOOP_False { return 0 }
15 return defined($env->{target}->checkin_time) ? 0 : 1;
21 my $circ = $env->{target};
23 return 0 if $circ->checkin_time;
24 return 0 if $circ->stop_fines and not $circ->stop_fines =~ /MAXFINES|LONGOVERDUE/;
26 my $due_date = DateTime::Format::ISO8601->new->parse_datetime(clense_ISO8601($circ->due_date));
27 return 0 if $due_date < DateTime->now;
36 my $t = $env->{target}->transit;
38 die "Transit object exists, but is not fleshed. Add 'transit' to the environment in order to use this Validator."
42 return (defined($env->{target}->capture_time) && defined($t->dest_recv_time)) ? 1 : 0;
45 return defined($env->{target}->capture_time) ? 1 : 0;