There is a short circuit check for the active
field on the user's card, forcing the Patron Status
Response field to return charge, renewal, recall,
and hold privileges denied and returns a minimal set
of patron information. This followup commit will
allow the patron_status_always_permit_loans to also
override this.
I should note that I don't personally think that this
is a good idea, (lost card is lost) but in the interst
of discussion and allowing libraries to choose what
they feel works best for their users, here it is.
Signed-off-by: Jason Boyer <JBoyer@eoli.info>
my $card = $e->search_actor_card([{barcode => $patron_id}, $usr_flesh])->[0];
- if(!$card or !$U->is_true($card->active)) {
+ if(!$card or (!$U->is_true($card->active) && !$self->patron_status_always_permit_loans_set())) {
syslog("LOG_WARNING", "No such patron barcode: $patron_id");
return undef;
}