[Koha-patches] [PATCH] Bug 7690: hidelostitems not working in Normal Display
Fridolyn SOMERS
fridolyn.somers at biblibre.com
Thu Aug 9 15:45:41 CEST 2012
---
C4/Search.pm | 35 ++++++++++++--------
.../opac-tmpl/prog/en/modules/opac-results.tt | 4 +--
2 files changed, 23 insertions(+), 16 deletions(-)
diff --git a/C4/Search.pm b/C4/Search.pm
index fd81610..01a918a 100644
--- a/C4/Search.pm
+++ b/C4/Search.pm
@@ -1415,7 +1415,7 @@ sub buildQuery {
my @search_results = searchResults($search_context, $searchdesc, $hits,
$results_per_page, $offset, $scan,
- @marcresults, $hidelostitems);
+ @marcresults);
Format results in a form suitable for passing to the template
@@ -1629,9 +1629,9 @@ sub searchResults {
my $items_count = scalar(@fields);
my $maxitems_pref = C4::Context->preference('maxItemsinSearchResults');
my $maxitems = $maxitems_pref ? $maxitems_pref - 1 : 1;
+ my @hiddenitems; # hidden itemnumbers based on OpacHiddenItems syspref
# loop through every item
- my @hiddenitems;
foreach my $field (@fields) {
my $item;
@@ -1641,11 +1641,20 @@ sub searchResults {
}
$item->{description} = $itemtypes{ $item->{itype} }{description};
- # Hidden items
+ # OPAC hidden items
if ($is_opac) {
+ # hidden because lost
+ if ($hidelostitems && $item->{itemlost}) {
+ $hideatopac_count++;
+ next;
+ }
+ # hidden based on OpacHiddenItems syspref
my @hi = C4::Items::GetHiddenItemnumbers($item);
- $item->{'hideatopac'} = @hi;
- push @hiddenitems, @hi;
+ if (scalar @hi) {
+ push @hiddenitems, @hi;
+ $hideatopac_count++;
+ next;
+ }
}
my $hbranch = C4::Context->preference('HomeOrHoldingBranch') eq 'homebranch' ? 'homebranch' : 'holdingbranch';
@@ -1724,14 +1733,12 @@ sub searchResults {
|| $item->{itemlost}
|| $item->{damaged}
|| $item->{notforloan} > 0
- || $item->{hideatopac}
|| $reservestatus eq 'Waiting'
|| ($transfertwhen ne ''))
{
$wthdrawn_count++ if $item->{wthdrawn};
$itemlost_count++ if $item->{itemlost};
$itemdamaged_count++ if $item->{damaged};
- $hideatopac_count++ if $item->{hideatopac};
$item_in_transit_count++ if $transfertwhen ne '';
$item_onhold_count++ if $reservestatus eq 'Waiting';
$item->{status} = $item->{wthdrawn} . "-" . $item->{itemlost} . "-" . $item->{damaged} . "-" . $item->{notforloan};
@@ -1747,7 +1754,7 @@ sub searchResults {
$other_count++;
my $key = $prefix . $item->{status};
- foreach (qw(wthdrawn itemlost damaged branchname itemcallnumber hideatopac)) {
+ foreach (qw(wthdrawn itemlost damaged branchname itemcallnumber)) {
$other_items->{$key}->{$_} = $item->{$_};
}
$other_items->{$key}->{intransit} = ( $transfertwhen ne '' ) ? 1 : 0;
@@ -1763,7 +1770,7 @@ sub searchResults {
$can_place_holds = 1;
$available_count++;
$available_items->{$prefix}->{count}++ if $item->{$hbranch};
- foreach (qw(branchname itemcallnumber hideatopac description)) {
+ foreach (qw(branchname itemcallnumber description)) {
$available_items->{$prefix}->{$_} = $item->{$_};
}
$available_items->{$prefix}->{location} = $shelflocations->{ $item->{location} };
@@ -1771,10 +1778,12 @@ sub searchResults {
}
}
} # notforloan, item level and biblioitem level
- if ($items_count > 0) {
- next if $is_opac && $hideatopac_count >= $items_count;
- next if $hidelostitems && $itemlost_count >= $items_count;
- }
+
+ # if all items are hidden, do not show the record
+ if ($items_count > 0 && $hideatopac_count == $items_count) {
+ next;
+ }
+
my ( $availableitemscount, $onloanitemscount, $otheritemscount );
for my $key ( sort keys %$onloan_items ) {
(++$onloanitemscount > $maxitems) and last;
diff --git a/koha-tmpl/opac-tmpl/prog/en/modules/opac-results.tt b/koha-tmpl/opac-tmpl/prog/en/modules/opac-results.tt
index 67b1686..3b72b05 100644
--- a/koha-tmpl/opac-tmpl/prog/en/modules/opac-results.tt
+++ b/koha-tmpl/opac-tmpl/prog/en/modules/opac-results.tt
@@ -464,10 +464,9 @@ $(document).ready(function(){
<span class="results_summary">
<span class="label">Availability:</span>
- [% IF ( SEARCH_RESULT.available_items_loop.0 ) %]
+ [% IF ( SEARCH_RESULT.available_items_loop.size() ) %]
<span class="available"><strong>Copies available:</strong>
[% FOREACH available_items_loo IN SEARCH_RESULT.available_items_loop %]
- [% UNLESS ( available_items_loo.hideatopac ) %]
[% IF ( singleBranchMode ) %]
[% available_items_loo.location %]
[% ELSE %]
@@ -480,7 +479,6 @@ $(document).ready(function(){
[% END %]
([% available_items_loo.count %]),
[% END %]
- [% END %]
</span>
[% ELSE %]
[% IF ( SEARCH_RESULT.ALTERNATEHOLDINGS ) %]
--
1.7.9.5
More information about the Koha-patches
mailing list