Browse Source

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 <tomascohen@theke.io>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
master
Tomas Cohen Arazi 1 month ago
committed by Fridolin Somers
parent
commit
a2d8ed5ec4
  1. 8
      Koha/Clubs.pm
  2. 7
      reserve/request.pl

8
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<Koha::Clubs> 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 },
]

7
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;

Loading…
Cancel
Save