Browse Source

Bug 28238: Add itemcallnumber to ils-di GetAvailability output

Signed-off-by: David Nind <david@davidnind.com>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
22.05.x
Lyon3 Team 3 years ago
committed by Fridolin Somers
parent
commit
be123d3832
  1. 9
      C4/ILSDI/Services.pm

9
C4/ILSDI/Services.pm

@ -119,7 +119,7 @@ sub GetAvailability {
foreach my $id ( split( / /, $cgi->param('id') ) ) {
if ( $cgi->param('id_type') eq "item" ) {
my ( $biblionumber, $status, $msg, $location ) = _availability($id);
my ( $biblionumber, $status, $msg, $location, $itemcallnumber ) = _availability($id);
$out .= " <dlf:record>\n";
$out .= " <dlf:bibliographic id=\"" . ( $biblionumber || $id ) . "\" />\n";
@ -130,6 +130,7 @@ sub GetAvailability {
$out .= " <dlf:availabilitystatus>" . $status . "</dlf:availabilitystatus>\n";
if ($msg) { $out .= " <dlf:availabilitymsg>" . $msg . "</dlf:availabilitymsg>\n"; }
if ($location) { $out .= " <dlf:location>" . $location . "</dlf:location>\n"; }
if ($itemcallnumber) { $out .= " <dlf:itemcallnumber>" . $itemcallnumber. "</dlf:itemcallnumber>\n"; }
$out .= " </dlf:simpleavailability>\n";
$out .= " </dlf:item>\n";
$out .= " </dlf:items>\n";
@ -146,13 +147,14 @@ sub GetAvailability {
# We loop over the items to clean them
while ( my $item = $items->next ) {
my $itemnumber = $item->itemnumber;
my ( $biblionumber, $status, $msg, $location ) = _availability($itemnumber);
my ( $biblionumber, $status, $msg, $location, $itemcallnumber ) = _availability($itemnumber);
$out .= " <dlf:item id=\"" . $itemnumber . "\">\n";
$out .= " <dlf:simpleavailability>\n";
$out .= " <dlf:identifier>" . $itemnumber . "</dlf:identifier>\n";
$out .= " <dlf:availabilitystatus>" . $status . "</dlf:availabilitystatus>\n";
if ($msg) { $out .= " <dlf:availabilitymsg>" . $msg . "</dlf:availabilitymsg>\n"; }
if ($location) { $out .= " <dlf:location>" . $location . "</dlf:location>\n"; }
if ($itemcallnumber) { $out .= " <dlf:itemcallnumber>" . $itemcallnumber. "</dlf:itemcallnumber>\n"; }
$out .= " </dlf:simpleavailability>\n";
$out .= " </dlf:item>\n";
}
@ -961,6 +963,7 @@ sub _availability {
my $biblionumber = $item->biblioitemnumber;
my $library = Koha::Libraries->find( $item->holdingbranch );
my $location = $library ? $library->branchname : '';
my $itemcallnumber = $item->itemcallnumber;
if ( $item->notforloan ) {
return ( $biblionumber, 'not available', 'Not for loan', $location );
@ -973,7 +976,7 @@ sub _availability {
} elsif ( $item->damaged ) {
return ( $biblionumber, 'not available', 'Item damaged', $location );
} else {
return ( $biblionumber, 'available', undef, $location );
return ( $biblionumber, 'available', undef, $location, $itemcallnumber );
}
}

Loading…
Cancel
Save