Lines 292-302
Is only used in this module currently.
Link Here
|
292 |
sub buildKohaItemsNamespace { |
292 |
sub buildKohaItemsNamespace { |
293 |
my ($biblionumber, $hidden_items) = @_; |
293 |
my ($biblionumber, $hidden_items) = @_; |
294 |
|
294 |
|
295 |
my @items = C4::Items::GetItemsInfo($biblionumber); |
295 |
my $search_params; |
296 |
if ($hidden_items && @$hidden_items) { |
296 |
$search_params->{biblionumber} = $biblionumber; |
297 |
my %hi = map {$_ => 1} @$hidden_items; |
297 |
$search_params->{itemnumber} = { not_in => $hidden_items } if $hidden_items; |
298 |
@items = grep { !$hi{$_->{itemnumber}} } @items; |
298 |
my @items = Koha::Items->search($search_params); |
299 |
} |
|
|
300 |
|
299 |
|
301 |
my $shelflocations = |
300 |
my $shelflocations = |
302 |
{ map { $_->{authorised_value} => $_->{opac_description} } Koha::AuthorisedValues->get_descriptions_by_koha_field( { frameworkcode => GetFrameworkCode($biblionumber), kohafield => 'items.location' } ) }; |
301 |
{ map { $_->{authorised_value} => $_->{opac_description} } Koha::AuthorisedValues->get_descriptions_by_koha_field( { frameworkcode => GetFrameworkCode($biblionumber), kohafield => 'items.location' } ) }; |
Lines 312-339
sub buildKohaItemsNamespace {
Link Here
|
312 |
for my $item (@items) { |
311 |
for my $item (@items) { |
313 |
my $status; |
312 |
my $status; |
314 |
|
313 |
|
315 |
my ( $transfertwhen, $transfertfrom, $transfertto ) = C4::Circulation::GetTransfers($item->{itemnumber}); |
314 |
my ( $transfertwhen, $transfertfrom, $transfertto ) = C4::Circulation::GetTransfers($item->itemnumber); |
316 |
|
315 |
|
317 |
my $reservestatus = C4::Reserves::GetReserveStatus( $item->{itemnumber} ); |
316 |
my $reservestatus = C4::Reserves::GetReserveStatus( $item->itemnumber ); |
318 |
|
317 |
|
319 |
if ( ( $item->{itype} && $itemtypes->{ $item->{itype} }->{notforloan} ) || $item->{notforloan} || $item->{onloan} || $item->{withdrawn} || $item->{itemlost} || $item->{damaged} || |
318 |
if ( ( $item->itype && $itemtypes->{ $item->itype }->{notforloan} ) || $item->notforloan || $item->onloan || $item->withdrawn || $item->itemlost || $item->damaged || |
320 |
(defined $transfertwhen && $transfertwhen ne '') || $item->{itemnotforloan} || (defined $reservestatus && $reservestatus eq "Waiting") || $item->{has_pending_hold} ){ |
319 |
(defined $transfertwhen && $transfertwhen ne '') || $item->{itemnotforloan} || (defined $reservestatus && $reservestatus eq "Waiting") || $item->has_pending_hold ){ |
321 |
if ( $item->{notforloan} < 0) { |
320 |
if ( $item->notforloan < 0) { |
322 |
$status = "On order"; |
321 |
$status = "On order"; |
323 |
} |
322 |
} |
324 |
if ( $item->{itemnotforloan} && $item->{itemnotforloan} > 0 || $item->{notforloan} && $item->{notforloan} > 0 || $item->{itype} && $itemtypes->{ $item->{itype} }->{notforloan} && $itemtypes->{ $item->{itype} }->{notforloan} == 1 ) { |
323 |
if ( $item->notforloan && $item->notforloan > 0 || $item->itype && $itemtypes->{ $item->itype }->{notforloan} && $itemtypes->{ $item->itype }->{notforloan} == 1 ) { |
325 |
$status = "reference"; |
324 |
$status = "reference"; |
326 |
} |
325 |
} |
327 |
if ($item->{onloan}) { |
326 |
if ($item->onloan) { |
328 |
$status = "Checked out"; |
327 |
$status = "Checked out"; |
329 |
} |
328 |
} |
330 |
if ( $item->{withdrawn}) { |
329 |
if ( $item->withdrawn) { |
331 |
$status = "Withdrawn"; |
330 |
$status = "Withdrawn"; |
332 |
} |
331 |
} |
333 |
if ($item->{itemlost}) { |
332 |
if ($item->itemlost) { |
334 |
$status = "Lost"; |
333 |
$status = "Lost"; |
335 |
} |
334 |
} |
336 |
if ($item->{damaged}) { |
335 |
if ($item->damaged) { |
337 |
$status = "Damaged"; |
336 |
$status = "Damaged"; |
338 |
} |
337 |
} |
339 |
if (defined $transfertwhen && $transfertwhen ne '') { |
338 |
if (defined $transfertwhen && $transfertwhen ne '') { |
Lines 342-359
sub buildKohaItemsNamespace {
Link Here
|
342 |
if (defined $reservestatus && $reservestatus eq "Waiting") { |
341 |
if (defined $reservestatus && $reservestatus eq "Waiting") { |
343 |
$status = 'Waiting'; |
342 |
$status = 'Waiting'; |
344 |
} |
343 |
} |
345 |
if ($item->{has_pending_hold}) { |
344 |
if ($item->has_pending_hold) { |
346 |
$status = 'Pending hold'; |
345 |
$status = 'Pending hold'; |
347 |
} |
346 |
} |
348 |
} else { |
347 |
} else { |
349 |
$status = "available"; |
348 |
$status = "available"; |
350 |
} |
349 |
} |
351 |
my $homebranch = $item->{homebranch}? xml_escape($branches{$item->{homebranch}}):''; |
350 |
my $homebranch = $item->homebranch? xml_escape($branches{$item->homebranch}):''; |
352 |
my $holdingbranch = $item->{holdingbranch}? xml_escape($branches{$item->{holdingbranch}}):''; |
351 |
my $holdingbranch = $item->holdingbranch? xml_escape($branches{$item->holdingbranch}):''; |
353 |
$location = $item->{location}? xml_escape($shelflocations->{$item->{location}}||$item->{location}):''; |
352 |
$location = $item->location? xml_escape($shelflocations->{$item->location}||$item->location):''; |
354 |
$ccode = $item->{ccode}? xml_escape($ccodes->{$item->{ccode}}||$item->{ccode}):''; |
353 |
$ccode = $item->ccode? xml_escape($ccodes->{$item->ccode}||$item->ccode):''; |
355 |
my $itemcallnumber = xml_escape($item->{itemcallnumber}); |
354 |
my $itemcallnumber = xml_escape($item->itemcallnumber); |
356 |
my $stocknumber = $item->{stocknumber}? xml_escape($item->{stocknumber}):''; |
355 |
my $stocknumber = $item->stocknumber? xml_escape($item->stocknumber):''; |
357 |
$xml .= |
356 |
$xml .= |
358 |
"<item>" |
357 |
"<item>" |
359 |
. "<homebranch>$homebranch</homebranch>" |
358 |
. "<homebranch>$homebranch</homebranch>" |
360 |
- |
|
|