Bug 35211: (QA follow-up) Fix counting

This patch updates detail.pl and detail.tt to correctly count the number of items for each tab.

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
This commit is contained in:
Lisette Scheer 2025-11-10 21:19:34 +00:00 committed by Lucas Gass
parent c4c2a4b235
commit 97a022054d
No known key found for this signature in database
GPG Key ID: 60B447398B0D36CA
2 changed files with 19 additions and 16 deletions

View File

@ -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,

View File

@ -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" %]
<span>[% Branches.GetLoggedInBranchname | html %] holdings ([% items_to_display_count - ( other_holdings_count || 0 ) - ( total_group_holdings_count || 0 ) - ( hidden_count || 0 ) || 0 | html %])</span>
<span>[% Branches.GetLoggedInBranchname | html %] holdings ([% branch_holdings_count | html %])</span>
[% END %]
[% END %]
[% ELSE %]