Lines 43-49
use Koha::Checkouts;
Link Here
|
43 |
use Koha::Libraries; |
43 |
use Koha::Libraries; |
44 |
use Koha::Patrons; |
44 |
use Koha::Patrons; |
45 |
use Date::Calc qw/Today Date_to_Days/; |
45 |
use Date::Calc qw/Today Date_to_Days/; |
46 |
use List::MoreUtils qw/uniq/; |
46 |
use List::MoreUtils qw/uniq any/; |
47 |
|
47 |
|
48 |
my $maxreserves = C4::Context->preference("maxreserves"); |
48 |
my $maxreserves = C4::Context->preference("maxreserves"); |
49 |
|
49 |
|
Lines 586-591
foreach my $biblioNum (@biblionumbers) {
Link Here
|
586 |
|
586 |
|
587 |
push @{$biblioLoopIter{itemLoop}}, $itemLoopIter; |
587 |
push @{$biblioLoopIter{itemLoop}}, $itemLoopIter; |
588 |
} |
588 |
} |
|
|
589 |
$biblioLoopIter{itemLoop} = [ |
590 |
filter_items({ |
591 |
items => $biblioLoopIter{itemLoop}, |
592 |
patron => $patron, |
593 |
}) |
594 |
]; |
589 |
$template->param( |
595 |
$template->param( |
590 |
itemdata_enumchron => $itemdata_enumchron, |
596 |
itemdata_enumchron => $itemdata_enumchron, |
591 |
itemdata_ccode => $itemdata_ccode, |
597 |
itemdata_ccode => $itemdata_ccode, |
Lines 676-678
if (
Link Here
|
676 |
} |
682 |
} |
677 |
|
683 |
|
678 |
output_html_with_http_headers $query, $cookie, $template->output, undef, { force_no_caching => 1 }; |
684 |
output_html_with_http_headers $query, $cookie, $template->output, undef, { force_no_caching => 1 }; |
679 |
- |
685 |
|
|
|
686 |
sub filter_items { |
687 |
my ( $params ) = @_; |
688 |
my @all_items = @{$params->{items}}; |
689 |
my $patron = $params->{patron}; |
690 |
my @hiddenitems; |
691 |
my $patron_category = |
692 |
( C4::Context->preference('OpacHiddenItemsExceptions') && $patron ) |
693 |
? $patron->categorycode |
694 |
: undef; |
695 |
|
696 |
if ( scalar @all_items >= 1 ) { |
697 |
push @hiddenitems, |
698 |
GetHiddenItemnumbers( { items => \@all_items, borcat => $patron_category } ); |
699 |
|
700 |
return () if scalar @hiddenitems == scalar @all_items; |
701 |
} |
702 |
|
703 |
my @items; |
704 |
# Are there items to hide? |
705 |
my $hideitems; |
706 |
|
707 |
# Hide items |
708 |
if ( C4::Context->preference('hidelostitems') || @hiddenitems ) { |
709 |
for my $itm (@all_items) { |
710 |
if ( C4::Context->preference('hidelostitems') ) { |
711 |
push @items, $itm |
712 |
unless $itm->{itemlost} |
713 |
or any { $itm->{'itemnumber'} eq $_ } @hiddenitems; |
714 |
} |
715 |
else { |
716 |
push @items, $itm |
717 |
unless any { $itm->{'itemnumber'} eq $_ } @hiddenitems; |
718 |
} |
719 |
} |
720 |
} |
721 |
# Or not |
722 |
else { |
723 |
@items = @all_items; |
724 |
} |
725 |
return @items; |
726 |
} |
727 |
|