From d6d3cba8fbdd2c7091caccba82b1df1771783c9f Mon Sep 17 00:00:00 2001 From: Marion Durand Date: Fri, 24 Sep 2021 09:15:37 +0200 Subject: [PATCH] Bug 28238: (follow-up) Add itemcallnumber to ILS-DI GetAvailability output for unavailable items Providing the call number for ILS-DI GetAvailability output is useful for libraries that use discovery tools. Patrons often don't check further for the call number, and then they don't have it when they look for the item. It could also be use full to have this call number when the item isn't available (to make a request for it for instance). Test plan: 1. Enable the ILS-DI system preference 2. Locate a record with multiple items and make sure they have call numbers for each item and that some are unavailable 3. Test these URLs: [OPACBASEURL]/cgi-bin/koha/ilsdi.pl?service=GetAvailability&id=[BIBLIONUMBER]&id_type=biblio and [OPACBASEURL]/cgi-bin/koha/ilsdi.pl?service=GetAvailability&id=[ITEMNUMBER]&id_type=item (Where the [OPACBASEURL] is the OPAC URL of your test instance, [BIBLIONUMBER] and [ITEMNUMBER] are a record number and item number of your choice.) 4. Apply the patch 5. Run the queries from step 3 again - all the results should now have the tag itemcallnumber (not only the available's ones) Example: 840.08 COR R Sponsored-by: University Lyon 3 https://bugs.koha-community.org/show_bug.cgi?id=28238 Signed-off-by: David Nind --- C4/ILSDI/Services.pm | 10 +++++----- koha-tmpl/opac-tmpl/bootstrap/en/modules/ilsdi.tt | 4 +++- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/C4/ILSDI/Services.pm b/C4/ILSDI/Services.pm index 43986779c2..c7714dcd52 100644 --- a/C4/ILSDI/Services.pm +++ b/C4/ILSDI/Services.pm @@ -966,15 +966,15 @@ sub _availability { my $itemcallnumber = $item->itemcallnumber; if ( $item->notforloan ) { - return ( $biblionumber, 'not available', 'Not for loan', $location ); + return ( $biblionumber, 'not available', 'Not for loan', $location, $itemcallnumber ); } elsif ( $item->onloan ) { - return ( $biblionumber, 'not available', 'Checked out', $location ); + return ( $biblionumber, 'not available', 'Checked out', $location, $itemcallnumber ); } elsif ( $item->itemlost ) { - return ( $biblionumber, 'not available', 'Item lost', $location ); + return ( $biblionumber, 'not available', 'Item lost', $location, $itemcallnumber ); } elsif ( $item->withdrawn ) { - return ( $biblionumber, 'not available', 'Item withdrawn', $location ); + return ( $biblionumber, 'not available', 'Item withdrawn', $location, $itemcallnumber ); } elsif ( $item->damaged ) { - return ( $biblionumber, 'not available', 'Item damaged', $location ); + return ( $biblionumber, 'not available', 'Item damaged', $location, $itemcallnumber ); } else { return ( $biblionumber, 'available', undef, $location, $itemcallnumber ); } diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/modules/ilsdi.tt b/koha-tmpl/opac-tmpl/bootstrap/en/modules/ilsdi.tt index 8b9f1a371e..8693ceda9d 100644 --- a/koha-tmpl/opac-tmpl/bootstrap/en/modules/ilsdi.tt +++ b/koha-tmpl/opac-tmpl/bootstrap/en/modules/ilsdi.tt @@ -100,7 +100,7 @@

GetAvailability

Given a set of bibliographic or item identifiers, returns a - list with availability of the items associated with the identifiers.

+ list with availability and call number of the items associated with the identifiers.

Parameters

@@ -144,6 +144,7 @@ <dlf:identifier>1</dlf:identifier> <dlf:availabilitystatus>available</dlf:availabilitystatus> <dlf:location>Bibliothèque Jean Prunier</dlf:location> + <dlf:itemcallnumber>iPR 8923 W6 L36 1990 c.1</dlf:itemcallnumber> </dlf:simpleavailability> </dlf:item> </dlf:items> @@ -156,6 +157,7 @@ <dlf:identifier>2</dlf:identifier> <dlf:availabilitystatus>available</dlf:availabilitystatus> <dlf:location>Bibliothèque Jean Prunier</dlf:location> + <dlf:itemcallnumber>iPR 8923 W6 L36 1990 c.2</dlf:itemcallnumber> </dlf:simpleavailability> </dlf:item> </dlf:items> -- 2.20.1