my $showallitems = $query->param('showallitems');
my $marcflavour = C4::Context->preference("marcflavour");
-{
- # XSLT processing of some stuff
-
- $template->param(
- XSLTDetailsDisplay => '1',
- XSLTBloc => XSLTParse4Display(
- {
- biblionumber => $biblionumber,
- record => $record,
- xsl_syspref => "XSLTDetailsDisplay",
- fix_amps => 1,
- }
- ),
- );
-}
-
$template->param( 'SpineLabelShowPrintOnBibDetails' => C4::Context->preference("SpineLabelShowPrintOnBibDetails") );
# Catch the exception as Koha::Biblio::Metadata->record can explode if the MARCXML is invalid
# Get component parts details
my $showcomp = C4::Context->preference('ShowComponentRecords');
+my $show_analytics;
if ( $showcomp eq 'both' || $showcomp eq 'staff' ) {
- if ( my $components = $biblio->get_marc_components(300) ) {
+ if ( my $components = $biblio->get_marc_components(C4::Context->preference('MaxComponentRecords')) ) {
+ $show_analytics = 1 if @{$components}; # just show link when having results
+ $template->param( analytics_error => 1 ) if grep { $_->message eq 'component_search' } @{$biblio->messages};
my $parts;
for my $part ( @{$components} ) {
$part = C4::Search::new_record_from_zebra( 'biblioserver', $part );
+ my $id = Koha::SearchEngine::Search::extract_biblionumber( $part );
push @{$parts},
XSLTParse4Display(
{
- biblionumber => $biblionumber,
+ biblionumber => $id,
record => $part,
xsl_syspref => "XSLTResultsDisplay",
fix_amps => 1,
$template->param( ComponentParts => $parts );
$template->param( ComponentPartsQuery => $biblio->get_components_query );
}
+} else { # check if we should show analytics anyway
+ $show_analytics = 1 if @{$biblio->get_marc_components(1)}; # count matters here, results does not
+ $template->param( analytics_error => 1 ) if grep { $_->message eq 'component_search' } @{$biblio->messages};
}
+# XSLT processing of some stuff
+my $xslt_variables = { show_analytics_link => $show_analytics };
+$template->param(
+ XSLTDetailsDisplay => '1',
+ XSLTBloc => XSLTParse4Display({
+ biblionumber => $biblionumber,
+ record => $record,
+ xsl_syspref => "XSLTDetailsDisplay",
+ fix_amps => 1,
+ xslt_variables => $xslt_variables,
+ }),
+);
+
# Get acquisition details
if ( C4::Context->preference('AcquisitionDetails') ) {
my $orders = Koha::Acquisition::Orders->search(
{
borrowernumber => $borrowernumber,
add_allowed => 1,
- category => 1,
+ public => 0,
}
);
my $some_public_shelves = Koha::Virtualshelves->get_some_shelves(
{
borrowernumber => $borrowernumber,
add_allowed => 1,
- category => 2,
+ public => 1,
}
);
my $shelves = Koha::Virtualshelves->search(
{
biblionumber => $biblionumber,
- category => 2,
+ public => 1,
},
{
join => 'virtualshelfcontents',