X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=opac%2Fopac-detail.pl;h=0bafabdce0dcfb265dcbfdd97b20af6e4f89df6e;hb=623f3a2c84fea04e4ad6203db49f6fdd6cfc62cd;hp=afc94984e73819294e86514c33f59888c5da95bf;hpb=1ee7f449be2ba45c2458d2ac571172ecf58752b2;p=koha_fer diff --git a/opac/opac-detail.pl b/opac/opac-detail.pl index afc94984e7..0bafabdce0 100755 --- a/opac/opac-detail.pl +++ b/opac/opac-detail.pl @@ -90,6 +90,8 @@ if($query->cookie("bib_list")){ SetUTF8Flag($record); +my $marcflavour = C4::Context->preference("marcflavour"); +my $ean = GetNormalizedEAN( $record, $marcflavour ); # XSLT processing of some stuff if (C4::Context->preference("OPACXSLTDetailsDisplay") ) { @@ -141,8 +143,10 @@ if ($session->param('busc')) { my @servers; @servers = @{$arrParamsBusc->{'server'}} if $arrParamsBusc->{'server'}; @servers = ("biblioserver") unless (@servers); - my $default_sort_by = C4::Context->preference('OPACdefaultSortField')."_".C4::Context->preference('OPACdefaultSortOrder') if (C4::Context->preference('OPACdefaultSortField') && C4::Context->preference('OPACdefaultSortOrder')); - my @sort_by = @{$arrParamsBusc->{'sort_by'}} if $arrParamsBusc->{'sort_by'}; + + my ($default_sort_by, @sort_by); + $default_sort_by = C4::Context->preference('OPACdefaultSortField')."_".C4::Context->preference('OPACdefaultSortOrder') if (C4::Context->preference('OPACdefaultSortField') && C4::Context->preference('OPACdefaultSortOrder')); + @sort_by = @{$arrParamsBusc->{'sort_by'}} if $arrParamsBusc->{'sort_by'}; $sort_by[0] = $default_sort_by if !$sort_by[0] && defined($default_sort_by); my ($error, $results_hashref, $facets); eval { @@ -389,12 +393,12 @@ $template->param( 'ItemsIssued' => CountItemsIssued( $biblionumber ) ); -$template->param('OPACShowCheckoutName' => C4::Context->preference("OPACShowCheckoutName") ); +$template->param('OPACShowCheckoutName' => C4::Context->preference("OPACShowCheckoutName") ); +$template->param('OPACShowBarcode' => C4::Context->preference("OPACShowBarcode") ); # change back when ive fixed request.pl my @all_items = GetItemsInfo( $biblionumber ); # adding items linked via host biblios -my $marcflavour = C4::Context->preference("marcflavour"); my $analyticfield = '773'; if ($marcflavour eq 'MARC21' || $marcflavour eq 'NORMARC'){ @@ -419,7 +423,8 @@ my @items; my @hiddenitems = GetHiddenItemnumbers(@all_items); # Are there items to hide? -my $hideitems = 1 if C4::Context->preference('hidelostitems') or scalar(@hiddenitems) > 0; +my $hideitems; +$hideitems = 1 if C4::Context->preference('hidelostitems') or scalar(@hiddenitems) > 0; # Hide items if ($hideitems) { @@ -446,10 +451,11 @@ if ( $itemtype ) { } my $shelflocations =GetKohaAuthorisedValues('items.location',$dat->{'frameworkcode'}, 'opac'); my $collections = GetKohaAuthorisedValues('items.ccode',$dat->{'frameworkcode'}, 'opac'); +my $copynumbers = GetKohaAuthorisedValues('items.copynumber',$dat->{'frameworkcode'}, 'opac'); #coping with subscriptions my $subscriptionsnumber = CountSubscriptionFromBiblionumber($biblionumber); -my @subscriptions = GetSubscriptions( undef, undef, $biblionumber ); +my @subscriptions = GetSubscriptions($dat->{'title'}, $dat->{'issn'}, $ean, $biblionumber ); my @subs; $dat->{'serial'}=1 if $subscriptionsnumber; @@ -486,10 +492,34 @@ if ($dat->{'count'} >= 50 && !$viewallitems) { my $biblio_authorised_value_images = C4::Items::get_authorised_value_images( C4::Biblio::get_biblio_authorised_values( $biblionumber, $record ) ); +my (%item_reserves, %priority); +my ($show_holds_count, $show_priority); +for ( C4::Context->preference("OPACShowHoldQueueDetails") ) { + m/holds/o and $show_holds_count = 1; + m/priority/ and $show_priority = 1; +} +my $has_hold; +if ( $show_holds_count || $show_priority) { + my ($reserve_count,$reserves) = GetReservesFromBiblionumber($biblionumber); + $template->param( holds_count => $reserve_count ) if $show_holds_count; + foreach (@$reserves) { + $item_reserves{ $_->{itemnumber} }++ if $_->{itemnumber}; + if ($show_priority && $_->{borrowernumber} == $borrowernumber) { + $has_hold = 1; + $_->{itemnumber} + ? ($priority{ $_->{itemnumber} } = $_->{priority}) + : ($template->param( priority => $_->{priority} )); + } + } +} +$template->param( show_priority => $has_hold ) ; + my $norequests = 1; my $branches = GetBranches(); my %itemfields; for my $itm (@items) { + $itm->{holds_count} = $item_reserves{ $itm->{itemnumber} }; + $itm->{priority} = $priority{ $itm->{itemnumber} }; $norequests = 0 if ( (not $itm->{'wthdrawn'} ) && (not $itm->{'itemlost'} ) @@ -503,9 +533,10 @@ for my $itm (@items) { } # get collection code description, too - if ( my $ccode = $itm->{'ccode'} ) { - $itm->{'ccode'} = $collections->{$ccode} if ( defined($collections) && exists( $collections->{$ccode} ) ); - } + my $ccode = $itm->{'ccode'}; + $itm->{'ccode'} = $collections->{$ccode} if ( defined($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'} }; } @@ -555,6 +586,7 @@ my $subtitle = GetRecordValue('subtitle', $record, GetFrameworkCode($bib MARCAUTHORS => $marcauthorsarray, MARCSERIES => $marcseriesarray, MARCURLS => $marcurlsarray, + MARCISBNS => $marcisbnsarray, MARCHOSTS => $marchostsarray, norequests => $norequests, RequestOnOpac => C4::Context->preference("RequestOnOpac"), @@ -603,7 +635,6 @@ foreach ( keys %{$dat} ) { # in each case, we're grabbing the first value we find in # the record and normalizing it my $upc = GetNormalizedUPC($record,$marcflavour); -my $ean = GetNormalizedEAN($record,$marcflavour); my $oclc = GetNormalizedOCLCNumber($record,$marcflavour); my $isbn = GetNormalizedISBN(undef,$record,$marcflavour); my $content_identifier_exists; @@ -651,7 +682,6 @@ foreach ( @$reviews ) { } $_->{userid} = $borrowerData->{'userid'}; $_->{cardnumber} = $borrowerData->{'cardnumber'}; - $_->{datereviewed} = format_date($_->{datereviewed}); if ($borrowerData->{'borrowernumber'} eq $borrowernumber) { $_->{your_comment} = 1;