From b6686acc96ccd218b3f458e517b08369918e4fa5 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 Signed-off-by: Katrin Fischer Signed-off-by: Tomas Cohen Arazi --- 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 1349ff6994..35a22f10c5 100644 --- a/koha-tmpl/opac-tmpl/bootstrap/en/modules/ilsdi.tt +++ b/koha-tmpl/opac-tmpl/bootstrap/en/modules/ilsdi.tt @@ -102,7 +102,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

@@ -146,6 +146,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> @@ -158,6 +159,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.32.0