From fd5861ed17a1ae8773a728e053aca909f50a1054 Mon Sep 17 00:00:00 2001 From: Christopher Brannon Date: Fri, 7 Apr 2017 20:25:52 +0000 Subject: [PATCH] Bug 18355: Modifies location on detail pages. --- catalogue/detail.pl | 66 ++++++++++++++++++++++++++--------------------------- opac/opac-detail.pl | 7 ++++-- 2 files changed, 38 insertions(+), 35 deletions(-) diff --git a/catalogue/detail.pl b/catalogue/detail.pl index 221532f..f2c716e 100755 --- a/catalogue/detail.pl +++ b/catalogue/detail.pl @@ -146,8 +146,8 @@ my $hostrecords; # adding items linked via host biblios my @hostitems = GetHostItemsInfo($record); if (@hostitems){ - $hostrecords =1; - push (@items,@hostitems); + $hostrecords =1; + push (@items,@hostitems); } my $dat = &GetBiblioData($biblionumber); @@ -159,7 +159,7 @@ my @subs; foreach my $subscription (@subscriptions) { my %cell; - my $serials_to_display; + my $serials_to_display; $cell{subscriptionid} = $subscription->{subscriptionid}; $cell{subscriptionnotes} = $subscription->{internalnotes}; $cell{missinglist} = $subscription->{missinglist}; @@ -169,15 +169,13 @@ foreach my $subscription (@subscriptions) { $cell{callnumber} = $subscription->{callnumber}; $cell{closed} = $subscription->{closed}; #get the three latest serials. - $serials_to_display = $subscription->{staffdisplaycount}; - $serials_to_display = C4::Context->preference('StaffSerialIssueDisplayCount') unless $serials_to_display; - $cell{staffdisplaycount} = $serials_to_display; - $cell{latestserials} = - GetLatestSerials( $subscription->{subscriptionid}, $serials_to_display ); + $serials_to_display = $subscription->{staffdisplaycount}; + $serials_to_display = C4::Context->preference('StaffSerialIssueDisplayCount') unless $serials_to_display; + $cell{staffdisplaycount} = $serials_to_display; + $cell{latestserials} = GetLatestSerials( $subscription->{subscriptionid}, $serials_to_display ); push @subs, \%cell; } - # Get acquisition details if ( C4::Context->preference('AcquisitionDetails') ) { my $orders = C4::Acquisition::GetHistory( biblionumber => $biblionumber, get_canceled_order => 1 ); @@ -244,7 +242,9 @@ foreach my $item (@items) { #get shelf location and collection code description if they are authorised value. # same thing for copy number my $shelfcode = $item->{'location'}; - $item->{'location'} = $shelflocations->{$shelfcode} if ( defined( $shelfcode ) && defined($shelflocations) && exists( $shelflocations->{$shelfcode} ) ); + my $permshelfcode = $item->{'permanent_location'}; + $item->{'location'} = ( defined( $permshelfcode ) && defined($shelflocations) && exists( $shelflocations->{$permshelfcode} ) ) ? $shelflocations->{$permshelfcode} : undef; + $item->{'location'} .= ' (' . $shelflocations->{$shelfcode} . ')' if ( defined( $shelfcode ) && defined($shelflocations) && exists($shelflocations->{$shelfcode} ) && ($shelfcode ne $permshelfcode) ); my $ccode = $item->{'ccode'}; $item->{'ccode'} = $collections->{$ccode} if ( defined( $ccode ) && defined($collections) && exists( $collections->{$ccode} ) ); my $copynumber = $item->{'copynumber'}; @@ -275,7 +275,7 @@ foreach my $item (@items) { } - # Check the transit status + # Check the transit status my ( $transfertwhen, $transfertfrom, $transfertto ) = GetTransfers($item->{itemnumber}); if ( defined( $transfertwhen ) && ( $transfertwhen ne '' ) ) { $item->{transfertwhen} = $transfertwhen; @@ -295,9 +295,9 @@ foreach my $item (@items) { if ($item->{biblionumber} ne $biblionumber){ $item->{hostbiblionumber} = $item->{biblionumber}; - $item->{hosttitle} = GetBiblioData($item->{biblionumber})->{title}; + $item->{hosttitle} = GetBiblioData($item->{biblionumber})->{title}; } - + #count if item is used in analytical bibliorecords my $countanalytics= GetAnalyticsCount($item->{itemnumber}); if ($countanalytics > 0){ @@ -346,27 +346,27 @@ if (scalar(@itemloop) == 0 || scalar(@otheritemloop) == 0) { $template->param( norequests => $norequests ); $template->param( - MARCNOTES => $marcnotesarray, - MARCSUBJCTS => $marcsubjctsarray, - MARCAUTHORS => $marcauthorsarray, - MARCSERIES => $marcseriesarray, - MARCURLS => $marcurlsarray, + MARCNOTES => $marcnotesarray, + MARCSUBJCTS => $marcsubjctsarray, + MARCAUTHORS => $marcauthorsarray, + MARCSERIES => $marcseriesarray, + MARCURLS => $marcurlsarray, MARCISBNS => $marcisbnsarray, - MARCHOSTS => $marchostsarray, - subtitle => $subtitle, - itemdata_ccode => $itemfields{ccode}, - itemdata_enumchron => $itemfields{enumchron}, - itemdata_uri => $itemfields{uri}, - itemdata_copynumber => $itemfields{copynumber}, - itemdata_stocknumber => $itemfields{stocknumber}, - volinfo => $itemfields{enumchron}, - itemdata_itemnotes => $itemfields{itemnotes}, - itemdata_nonpublicnotes => $itemfields{itemnotes_nonpublic}, - z3950_search_params => C4::Search::z3950_search_args($dat), - hostrecords => $hostrecords, - analytics_flag => $analytics_flag, - C4::Search::enabled_staff_search_views, - materials => $materials_flag, + MARCHOSTS => $marchostsarray, + subtitle => $subtitle, + itemdata_ccode => $itemfields{ccode}, + itemdata_enumchron => $itemfields{enumchron}, + itemdata_uri => $itemfields{uri}, + itemdata_copynumber => $itemfields{copynumber}, + itemdata_stocknumber => $itemfields{stocknumber}, + volinfo => $itemfields{enumchron}, + itemdata_itemnotes => $itemfields{itemnotes}, + itemdata_nonpublicnotes => $itemfields{itemnotes_nonpublic}, + z3950_search_params => C4::Search::z3950_search_args($dat), + hostrecords => $hostrecords, + analytics_flag => $analytics_flag, + C4::Search::enabled_staff_search_views, + materials => $materials_flag, ); if (C4::Context->preference("AlternateHoldingsField") && scalar @items == 0) { diff --git a/opac/opac-detail.pl b/opac/opac-detail.pl index ae89f82..93b59cb 100755 --- a/opac/opac-detail.pl +++ b/opac/opac-detail.pl @@ -678,8 +678,11 @@ if ( not $viewallitems and @items > $max_items_to_display ) { $itm->{'ccode'} = $collections->{$ccode} if defined($ccode) && $collections && exists( $collections->{$ccode} ); my $copynumber = $itm->{'copynumber'}; $itm->{'copynumber'} = $copynumbers->{$copynumber} if ( defined($copynumbers) && defined($copynumber) && exists( $copynumbers->{$copynumber} ) ); - if ( defined $itm->{'location'} ) { - $itm->{'location_description'} = $shelflocations->{ $itm->{'location'} }; + if ( defined $itm->{'permanent_location'} ) { + $itm->{'location_description'} = $shelflocations->{ $itm->{'permanent_location'} }; + } + if ( ( defined $itm->{'location'} ) && ( $itm->{'location'} ne $itm->{'permanent_location'} ) ) { + $itm->{'location_description'} .= ' (' . $shelflocations->{ $itm->{'location'} } . ')'; } if (exists $itm->{itype} && defined($itm->{itype}) && exists $itemtypes->{ $itm->{itype} }) { $itm->{'imageurl'} = getitemtypeimagelocation( 'opac', $itemtypes->{ $itm->{itype} }->{'imageurl'} ); -- 2.1.4