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)
committerJeff Davis <jdavis@sitka.bclibraries.ca>
Wed, 26 Feb 2020 22:26:37 +0000 (14:26 -0800)
commit42939f1edc805adb63d4e2a1daf7ada71c7c52b9
treee2256672250c32185e8cf8d5eb988b9726944993
parent975ef969e7236ef05f642e6f88159d6668712410
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]