use CGI qw ( -utf8 );
use CGI::Cookie; # need to check cookies before having CGI parse the POST request
+use Array::Utils qw( array_minus );
use C4::Auth qw( check_cookie_auth get_template_and_user );
use C4::Context;
use C4::Output qw( output_with_http_headers is_ajax output_html_with_http_headers );
use C4::Scrubber;
use C4::Biblio qw( GetMarcBiblio );
-use C4::Items qw( GetHiddenItemnumbers GetItemsInfo );
+use C4::Items qw( GetItemsInfo );
use C4::Tags qw(
add_tag
get_approval_rows
my $results = [];
my $my_tags = [];
-my $borcat = q{};
if ($loggedinuser) {
my $patron = Koha::Patrons->find( { borrowernumber => $loggedinuser } );
opac => 1,
borcat => $borcat });
next unless $record;
- my $hidden_items = undef;
- my @hidden_itemnumbers;
- my @all_items;
+ my @hidden_items;
if ($should_hide) {
- @all_items = GetItemsInfo( $tag->{biblionumber} );
- @hidden_itemnumbers = GetHiddenItemnumbers({
- items => \@all_items,
- borcat => $borcat });
- $hidden_items = \@hidden_itemnumbers;
+ my $items = $biblio->items;
+ my @all_itemnumbers = $items->get_column('itemnumber');
+ my @items_to_show = $items->filter_by_visible_in_opac({ opac => 1, patron => $patron })->as_list;
+ @hidden_items = array_minus( @all_itemnumbers, @items_to_show );
}
next
if (
{
biblionumber => $tag->{biblionumber},
record => $record,
- xsl_filename => 'OPACXSLTResultsDisplay',
+ xsl_syspref => 'OPACXSLTResultsDisplay',
fix_amps => 1,
- hidden_items => $hidden_items,
+ hidden_items => \@hidden_items,
xslt_variables => $variables
}
);