diff --git a/catalogue/detail.pl b/catalogue/detail.pl
index 0ff7b590c5..9aea2a670b 100755
--- a/catalogue/detail.pl
+++ b/catalogue/detail.pl
@@ -333,6 +333,21 @@ if ( defined $dat->{'itemtype'} ) {
}
my $total_group_holdings_count = 0;
+my $other_holdings_count = 0;
+my $branch_holdings_count = 0;
+if ( C4::Context->preference('SeparateHoldings') ) {
+ my $SeparateHoldingsBranch = C4::Context->preference('SeparateHoldingsBranch') || 'homebranch';
+ $branch_holdings_count =
+ $items_to_display->search( { $SeparateHoldingsBranch => { '=' => C4::Context->userenv->{branch} } } )->count;
+ $other_holdings_count = $items_to_display->count - $branch_holdings_count;
+}
+$template->param(
+ count => $all_items->count, # FIXME 'count' is used in catalog-strings.inc
+ other_holdings_count => $other_holdings_count, # But it's not a meaningful variable, we should rename it there
+ all_items_count => $all_items->count,
+ items_to_display_count => $items_to_display->count,
+ branch_holdings_count => $branch_holdings_count,
+);
if ( C4::Context->preference('SeparateHoldingsByGroup') ) {
my $branchcode = C4::Context->userenv->{branch};
my @all_search_groups = Koha::Library::Groups->get_search_groups( { interface => 'staff' } );
@@ -367,6 +382,7 @@ if ( C4::Context->preference('SeparateHoldingsByGroup') ) {
$total_group_holdings_count += $group_holdings_count;
push @lib_groups, $group;
+ $other_holdings_count = ( $items_to_display->count ) - $total_group_holdings_count;
}
}
}
@@ -376,23 +392,10 @@ if ( C4::Context->preference('SeparateHoldingsByGroup') ) {
branchcodes => \%branchcode_hash,
holdings_count_hash => \%holdings_count,
total_group_holdings_count => $total_group_holdings_count,
+ other_holdings_count => $other_holdings_count,
);
}
-if ( C4::Context->preference('SeparateHoldings') ) {
- my $SeparateHoldingsBranch = C4::Context->preference('SeparateHoldingsBranch') || 'homebranch';
- my $other_holdings_count =
- $items_to_display->search( { $SeparateHoldingsBranch => { '!=' => C4::Context->userenv->{branch} } } )->count;
- $other_holdings_count -= $total_group_holdings_count;
- $template->param( other_holdings_count => $other_holdings_count );
-}
-$template->param(
- count => $all_items->count, # FIXME 'count' is used in catalog-strings.inc
- # But it's not a meaningful variable, we should rename it there
- all_items_count => $all_items->count,
- items_to_display_count => $items_to_display->count,
-);
-
my $some_private_shelves = Koha::Virtualshelves->get_some_shelves(
{
borrowernumber => $borrowernumber,
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/detail.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/detail.tt
index a673a4062b..e59c5371cf 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/detail.tt
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/detail.tt
@@ -322,9 +322,9 @@
[% WRAPPER tabs id= "bibliodetails" %]
[% WRAPPER tabs_nav %]
[% IF Koha.Preference('SeparateHoldings') %]
- [% IF items_to_display_count - ( other_holdings_count || 0 ) - ( total_group_holdings_count || 0 ) %]
+ [% IF branch_holdings_count %]
[% WRAPPER tab_item tabname= "holdings" %]
- [% Branches.GetLoggedInBranchname | html %] holdings ([% items_to_display_count - ( other_holdings_count || 0 ) - ( total_group_holdings_count || 0 ) - ( hidden_count || 0 ) || 0 | html %])
+ [% Branches.GetLoggedInBranchname | html %] holdings ([% branch_holdings_count | html %])
[% END %]
[% END %]
[% ELSE %]