Bugzilla – Attachment 114597 Details for
Bug 24254
Add Koha::Items->filter_by_visible_in_opac
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 24254: Compare itemlost with 0
Bug-24254-Compare-itemlost-with-0.patch (text/plain), 3.19 KB, created by
Kyle M Hall (khall)
on 2020-12-22 11:41:35 UTC
(
hide
)
Description:
Bug 24254: Compare itemlost with 0
Filename:
MIME Type:
Creator:
Kyle M Hall (khall)
Created:
2020-12-22 11:41:35 UTC
Size:
3.19 KB
patch
obsolete
>From 33807a0a34849d7db0d6d0e94b1b65c02b89c052 Mon Sep 17 00:00:00 2001 >From: Tomas Cohen Arazi <tomascohen@theke.io> >Date: Sat, 19 Dec 2020 10:05:16 -0300 >Subject: [PATCH] Bug 24254: Compare itemlost with 0 > >On C4::Search and C4::Circulation the uses of the items.itemlost field >highlight the fact that the comparisson itemlost <= 0 was wrong, as it >is evaluated as a Perl boolean. > >The column can only be an int and NOT NULL, so we need to check if it is >0 to ponder if not hidden. > >This patch changes the tests to reflect this, and adjust the >Koha::Items->filter_by_visible_in_opac implementation to adapt to this. > >To test: >1. Apply this patch >2. Run: > $ kshell > k$ prove t/db_dependent/Koha/Items.t >=> SUCCESS: Tests pass! >3. Sign off :-D > >Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> > >Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> >--- > Koha/Items.pm | 17 ++++++++++++++--- > t/db_dependent/Koha/Items.t | 14 +++++++++++--- > 2 files changed, 25 insertions(+), 6 deletions(-) > >diff --git a/Koha/Items.pm b/Koha/Items.pm >index 78663f0dc8..f123a614ba 100644 >--- a/Koha/Items.pm >+++ b/Koha/Items.pm >@@ -65,14 +65,25 @@ sub filter_by_visible_in_opac { > > my $rules = $params->{rules} // {}; > >- my $search_params; >+ my $rules_params; > foreach my $field (keys %$rules){ >- $search_params->{$field}->{'-not_in'} = $rules->{$field}; >+ $rules_params->{$field}->{'-not_in'} = $rules->{$field}; > } > >- $search_params->{itemlost}->{'<='} = 0 >+ my $itemlost_params; >+ $itemlost_params = { itemlost => 0 } > if C4::Context->preference('hidelostitems'); > >+ my $search_params; >+ if ( $rules_params and $itemlost_params ) { >+ $search_params = { >+ '-and' => [ $rules_params, $itemlost_params ] >+ }; >+ } >+ else { >+ $search_params = $rules_params // $itemlost_params; >+ } >+ > return $self->search( $search_params ); > } > >diff --git a/t/db_dependent/Koha/Items.t b/t/db_dependent/Koha/Items.t >index eca3909853..ca328ba747 100755 >--- a/t/db_dependent/Koha/Items.t >+++ b/t/db_dependent/Koha/Items.t >@@ -1366,7 +1366,15 @@ subtest 'filter_by_visible_in_opac() tests' => sub { > my $item_5 = $builder->build_sample_item( > { > biblionumber => $biblio->biblionumber, >- itemlost => undef, >+ itemlost => 0, >+ itype => $itype_1->itemtype, >+ withdrawn => 5 >+ } >+ ); >+ my $item_6 = $builder->build_sample_item( >+ { >+ biblionumber => $biblio->biblionumber, >+ itemlost => 2, > itype => $itype_1->itemtype, > withdrawn => 5 > } >@@ -1376,12 +1384,12 @@ subtest 'filter_by_visible_in_opac() tests' => sub { > > t::lib::Mocks::mock_preference( 'hidelostitems', 0 ); > is( $biblio->items->filter_by_visible_in_opac->count, >- 5, 'No rules passed, hidelostitems unset' ); >+ 6, 'No rules passed, hidelostitems unset' ); > > t::lib::Mocks::mock_preference( 'hidelostitems', 1 ); > is( > $biblio->items->filter_by_visible_in_opac( { rules => $rules } )->count, >- 4, >+ 3, > 'No rules passed, hidelostitems set' > ); > >-- >2.24.1 (Apple Git-126)
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 24254
:
96373
|
114159
|
114160
|
114206
|
114207
|
114278
|
114279
|
114539
|
114540
|
114548
|
114549
|
114550
|
114551
|
114574
|
114594
|
114595
|
114596
|
114597
|
114598
|
114599
|
114664
|
114665
|
114666
|
114667
|
114668
|
115131
|
115132
|
115147
|
115148
|
115149
|
115150
|
115151
|
115152
|
115153
|
116070
|
116071
|
116072
|
116073
|
116074
|
116075