LP#1853363: add SIP2 option patron_status_always_permit_loans
authorGalen Charlton <gmc@equinoxinitiative.org>
Fri, 22 Nov 2019 23:05:10 +0000 (18:05 -0500)
committerChris Sharp <csharp@georgialibraries.org>
Wed, 19 Aug 2020 15:12:23 +0000 (11:12 -0400)
commitbe54bb536ba1370cc95b630aa16958b594ac91dc
treeaf6646953f1494644e0083e118f0a66f55edc215
parent8e2ddc5d70c4b5691ac4843461cdb9e59cd9fbc5
LP#1853363: add SIP2 option patron_status_always_permit_loans

This patch adds a new oils_sip.xml login attribute called
patron_status_always_permit_loans that specifies whether
the charge privileges denied, renewal privilges denied, and
card reported lost flags in the patron status block should be
coerced to permissive values regardless of the actual state
of the patron record. Turning this on works around an issue
where a 2019-12 change by the Hoopla SIP2 client takes those flag
fields into account, but some libraries may not wish those
to block a patron's access to online resources that use
SIP2 to authenticate. This setting can also be set as
an implementation_config option; note that if it is set to
'true' or 'false' as a login attribute, the login attribute will
override whatever is set in the implementation_config.

To test
-------
[1] Set up a test system that has SIPServer running. Also set
    up a patron that either has a standing penalty blocking CIRC
    or renewals, expired privileges, and/or a lost primary card.
[2] Perform a SIP2 patron information request (message 63) for
    the patron created in step 1. Note that the charge, renewal,
    and card lost flag fields in the SIP2 response should be set
    to indicated that privileges are denied.
[3] Apply the patch and enable patron_status_always_permit_loans
    either as a login attribute or a implementation_config option;
    oils_sip.xml.example in this patch contains examples.
[4] Repeat step 2; this time, the three flag fields should have
    permissive values (i.e., they will be set to the space character)
    regardless of the state of the patron record.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Jason Boyer <JBoyer@eoli.info>
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Open-ILS/examples/oils_sip.xml.example
Open-ILS/src/perlmods/lib/OpenILS/SIP/Patron.pm
docs/RELEASE_NOTES_NEXT/SIP/Add_patron_status_always_permit_loans_SIP_option.adoc [new file with mode: 0644]