From 35f20ae9cfe57d79f2079ef7d0a5a51b151372ec Mon Sep 17 00:00:00 2001 From: Tomas Cohen Arazi Date: Tue, 21 Dec 2021 10:49:56 -0300 Subject: [PATCH] Bug 29736: Restore searching Without this patch, the list will always display all clubs. To test: 1. Have two clubs, with enrollemnts: - Cthulhu fans - The Shadow Out of Time fans 2. Search for the letter c => FAIL: You get both results 3. Apply this patch 4. Repeat 2 => SUCCESS: Only Cthulhu is returned 5. Sign off :-D Signed-off-by: Tomas Cohen Arazi --- Koha/Clubs.pm | 8 +++----- reserve/request.pl | 7 ++++++- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/Koha/Clubs.pm b/Koha/Clubs.pm index 4acb64c9d9..5b89a23c1b 100644 --- a/Koha/Clubs.pm +++ b/Koha/Clubs.pm @@ -87,7 +87,9 @@ sub get_enrollable { =head3 filter_out_empty - Remove clubs without current enrollments. + my $filtered_rs = $clubs_rs->filter_out_empty; + +Return a new I resultset, containing only clubs with current enrollments. =cut @@ -96,10 +98,6 @@ sub filter_out_empty { return $self->search( { -and => [ - [ - { name => { like => '%x%' } }, - { description => { like => '%x%' } }, - ], { 'club_enrollments.club_id' => { '!=' => undef } }, { 'club_enrollments.date_canceled' => undef }, ] diff --git a/reserve/request.pl b/reserve/request.pl index 81dac34ed0..d9cec60a79 100755 --- a/reserve/request.pl +++ b/reserve/request.pl @@ -165,7 +165,12 @@ if($findclub) { if( $club ) { $club_hold = $club->id; } else { - my @clubs = Koha::Clubs->search->filter_out_empty; + my @clubs = Koha::Clubs->search( + [ + { name => { like => '%' . $findclub . '%' } }, + { description => { like => '%' . $findclub . '%' } } + ] + )->filter_out_empty->as_list; if( scalar @clubs == 1 ) { $club_hold = $clubs[0]->id; -- 2.32.0