Kyle M Hall
37a0e88819
If a patron has a record-level hold that is unavailable, any patron information request will send back an empty CD field when this field should have an item barcode in it [RM note: this actually isn't universally true -- the SIP2 standard is silent as to what is supposed to go in the CD field. Some SIP2 devices do indeed want an item barcode, but others are known to just want a display of the title and author of the request in question. Providing an option is the topic of a new enhancement request, however.] This is due to a minor error in ILS::Patron::_get_outstanding_holds where GetItemnumbersForBiblio is assumed to return an array but in reality returns an arrayref. Test Plan: 1) Create a record level hold for a patron and record 2) Using SIP2, make a patron information request 3) Note the empty CD fields 4) Apply this patch, restart SIP server 5) Repeat step 2 6) Note the CD field now has a barcode Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz> Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com> I did not test this patch but the following code shows me it is correct: use C4::Items; use Data::Dumper; my $biblionumber = 5035; my $itemnumber = (GetItemnumbersForBiblio($biblionumber))[0]; say Dumper $itemnumber; $itemnumber = (GetItemnumbersForBiblio($biblionumber))->[0]; say Dumper $itemnumber; displays: $VAR1 = [ '23168', '23169', '23170', '23171', '23172' ]; $VAR1 = '23168'; Signed-off-by: Galen Charlton <gmc@esilibrary.com> |
||
---|---|---|
.. | ||
ILS | ||
Sip | ||
t | ||
acstest.py | ||
example_institution_dump.sh | ||
ILS.pm | ||
ILS.pod | ||
interactive_item_dump.pl | ||
interactive_members_dump.pl | ||
interactive_patron_check_password.pl | ||
interactive_patron_dump.pl | ||
interactive_renew_all_dump.pl | ||
Makefile | ||
README | ||
Sip.pm | ||
SIPServer.pm | ||
test.txt | ||
xmlparse.pl |
README for Open NSIP 3M-SIP Server DEPENDENCIES SIPServer is written entirely in Perl, but it require these CPAN perl modules to run: Net::Server - The SIP server is a Net::Server::Prefork server XML::LibXML XML::Parser XML::Simple - for parsing the config file UNIVERSAL::require - for loading the correct ILS interface module Clone - for running the test cases LOGGING SIPServer uses syslog() for status and debugging messages. All syslog messages are logged using the syslog facility 'local6'. If you need to change this, because something else on your system is already using that facililty, just change the definition of 'LOG_SIP' at the top of the file SIPServer.pm Make sure to update your syslog configuration to capture facility 'local6' and record it.