Bugzilla – Attachment 98198 Details for
Bug 24467
*_count methods should be avoided
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 24467: Remove _count methods introduced for API use
Bug-24467-Remove-count-methods-introduced-for-API-.patch (text/plain), 8.05 KB, created by
Tomás Cohen Arazi (tcohen)
on 2020-01-31 04:49:04 UTC
(
hide
)
Description:
Bug 24467: Remove _count methods introduced for API use
Filename:
MIME Type:
Creator:
Tomás Cohen Arazi (tcohen)
Created:
2020-01-31 04:49:04 UTC
Size:
8.05 KB
patch
obsolete
>From d886792d3f22d796038235e6139f9fb6d1048c5a Mon Sep 17 00:00:00 2001 >From: Tomas Cohen Arazi <tomascohen@theke.io> >Date: Wed, 22 Jan 2020 16:21:22 +0100 >Subject: [PATCH] Bug 24467: Remove _count methods introduced for API use > >This patch removes some methods that were introduced for API usage in >the first iteration of the object embedding development effort. > >Those methods were obsoleted by bug 24528, which introduces a smarter >way for Koha::Object->to_api to embed *_count attributes on the output >structure based on the relationships and a call to ->count. > >To test: >1. Apply this patch >2. Run: > $ kshell > k$ prove t/db_dependent/Koha/Biblio.t >=> SUCCESS: Tests pass >3. Sign off :-D >--- > Koha/Biblio.pm | 38 ++++-------------------------------- > acqui/basket.pl | 4 ++-- > acqui/parcel.pl | 2 +- > t/db_dependent/Koha/Biblio.t | 28 ++++++++++++-------------- > 4 files changed, 20 insertions(+), 52 deletions(-) > >diff --git a/Koha/Biblio.pm b/Koha/Biblio.pm >index 9c0b6e8762..d8d1f09a3c 100644 >--- a/Koha/Biblio.pm >+++ b/Koha/Biblio.pm >@@ -100,18 +100,18 @@ sub orders { > > =head3 active_orders_count > >-my $orders_count = $biblio->active_orders_count(); >+my $active_orders = $biblio->active_orders(); > >-Returns the number of active acquisition orders related to this biblio. >+Returns the active acquisition orders related to this biblio. > An order is considered active when it is not cancelled (i.e. when datecancellation > is not undef). > > =cut > >-sub active_orders_count { >+sub active_orders { > my ( $self ) = @_; > >- return $self->orders->search({ datecancellationprinted => undef })->count; >+ return $self->orders->search({ datecancellationprinted => undef }); > } > > =head3 can_article_request >@@ -411,20 +411,6 @@ sub items { > return Koha::Items->_new_from_dbic( $items_rs ); > } > >-=head3 items_count >- >-my $items_count = $biblio->items(); >- >-Returns the count of the the related Koha::Items object for this biblio >- >-=cut >- >-sub items_count { >- my ($self) = @_; >- >- return $self->_result->items->count; >-} >- > =head3 itemtype > > my $itemtype = $biblio->itemtype(); >@@ -517,22 +503,6 @@ sub subscriptions { > return $self->{_subscriptions}; > } > >-=head3 subscriptions_count >- >-my $subscriptions_count = $self->subscriptions_count >- >-Returns the count of the the related Koha::Subscriptions object for this biblio >- >-IMPORTANT: this method is temporary and should not be used. >- >-=cut >- >-sub subscriptions_count { >- my ($self) = @_; >- >- return $self->subscriptions->count; >-} >- > =head3 has_items_waiting_or_intransit > > my $itemsWaitingOrInTransit = $biblio->has_items_waiting_or_intransit >diff --git a/acqui/basket.pl b/acqui/basket.pl >index 65ed547452..d248f11c92 100755 >--- a/acqui/basket.pl >+++ b/acqui/basket.pl >@@ -136,7 +136,7 @@ if ( $op eq 'delete_confirm' ) { > foreach my $myorder (@orders){ > my $biblionumber = $myorder->{'biblionumber'}; > my $biblio = Koha::Biblios->find( $biblionumber ); >- my $countbiblio = $biblio->active_orders_count; >+ my $countbiblio = $biblio->active_orders->count; > my $ordernumber = $myorder->{'ordernumber'}; > my $cnt_subscriptions = $biblio->subscriptions->count; > my $itemcount = $biblio->items->count; >@@ -477,7 +477,7 @@ sub get_order_infos { > my $biblionumber = $order->{'biblionumber'}; > if ( $biblionumber ) { # The biblio still exists > my $biblio = Koha::Biblios->find( $biblionumber ); >- my $countbiblio = $biblio->active_orders_count; >+ my $countbiblio = $biblio->active_orders->count; > > my $ordernumber = $order->{'ordernumber'}; > my $cnt_subscriptions = $biblio->subscriptions->count; >diff --git a/acqui/parcel.pl b/acqui/parcel.pl >index 8139cabfb9..3fcc211b20 100755 >--- a/acqui/parcel.pl >+++ b/acqui/parcel.pl >@@ -241,7 +241,7 @@ unless( defined $invoice->{closedate} ) { > > my $biblionumber = $line{'biblionumber'}; > my $biblio = Koha::Biblios->find( $biblionumber ); >- my $countbiblio = $biblio->active_orders_count; >+ my $countbiblio = $biblio->active_orders->count; > my $ordernumber = $line{'ordernumber'}; > my $order_object = Koha::Acquisition::Orders->find($ordernumber); > my $cnt_subscriptions = $biblio ? $biblio->subscriptions->count: 0; >diff --git a/t/db_dependent/Koha/Biblio.t b/t/db_dependent/Koha/Biblio.t >index 363a080abf..75921933c6 100644 >--- a/t/db_dependent/Koha/Biblio.t >+++ b/t/db_dependent/Koha/Biblio.t >@@ -92,15 +92,15 @@ subtest 'hidden_in_opac() tests' => sub { > $schema->storage->txn_rollback; > }; > >-subtest 'items() and items_count() tests' => sub { >+subtest 'items() tests' => sub { > >- plan tests => 5; >+ plan tests => 4; > > $schema->storage->txn_begin; > > my $biblio = $builder->build_sample_biblio(); > >- is( $biblio->items_count, 0, 'No items, count is 0' ); >+ is( $biblio->items->count, 0, 'No items, count is 0' ); > > my $item_1 = $builder->build_sample_item({ biblionumber => $biblio->biblionumber }); > my $item_2 = $builder->build_sample_item({ biblionumber => $biblio->biblionumber }); >@@ -108,7 +108,6 @@ subtest 'items() and items_count() tests' => sub { > my $items = $biblio->items; > is( ref($items), 'Koha::Items', 'Returns a Koha::Items resultset' ); > is( $items->count, 2, 'Two items in resultset' ); >- is( $biblio->items_count, $items->count, 'items_count returns the expected value' ); > > my @items = $biblio->items->as_list; > is( scalar @items, 2, 'Same result, but in list context' ); >@@ -496,19 +495,19 @@ subtest 'suggestions() tests' => sub { > $schema->storage->txn_rollback; > }; > >-subtest 'orders() and active_orders_count() tests' => sub { >+subtest 'orders() and active_orders() tests' => sub { > >- plan tests => 4; >+ plan tests => 5; > > $schema->storage->txn_begin; > > my $biblio = $builder->build_sample_biblio(); > >- my $orders = $biblio->orders; >- my $active_orders_count = $biblio->active_orders_count; >+ my $orders = $biblio->orders; >+ my $active_orders = $biblio->active_orders; > > is( ref($orders), 'Koha::Acquisition::Orders', 'Result type is correct' ); >- is( $orders->count, $active_orders_count, '->orders_count returns the count for the resultset' ); >+ is( $biblio->orders->count, $biblio->active_orders->count, '->orders_count returns the count for the resultset' ); > > # Add a couple orders > foreach (1..2) { >@@ -534,17 +533,18 @@ subtest 'orders() and active_orders_count() tests' => sub { > ); > > $orders = $biblio->orders; >- $active_orders_count = $biblio->active_orders_count; >+ $active_orders = $biblio->active_orders; > > is( ref($orders), 'Koha::Acquisition::Orders', 'Result type is correct' ); >- is( $orders->count, $active_orders_count + 2, '->active_orders_count returns the rigt count' ); >+ is( ref($active_orders), 'Koha::Acquisition::Orders', 'Result type is correct' ); >+ is( $orders->count, $active_orders->count + 2, '->active_orders_count returns the rigt count' ); > > $schema->storage->txn_rollback; > }; > >-subtest 'subscriptions() and subscriptions_count() tests' => sub { >+subtest 'subscriptions() tests' => sub { > >- plan tests => 6; >+ plan tests => 4; > > $schema->storage->txn_begin; > >@@ -555,7 +555,6 @@ subtest 'subscriptions() and subscriptions_count() tests' => sub { > 'Koha::Biblio->subscriptions should return a Koha::Subscriptions object' > ); > is( $subscriptions->count, 0, 'Koha::Biblio->subscriptions should return the correct number of subscriptions'); >- is( $biblio->subscriptions_count, 0, 'subscriptions_count returns the correct number' ); > > # Add two subscriptions > foreach (1..2) { >@@ -572,7 +571,6 @@ subtest 'subscriptions() and subscriptions_count() tests' => sub { > 'Koha::Biblio->subscriptions should return a Koha::Subscriptions object' > ); > is( $subscriptions->count, 2, 'Koha::Biblio->subscriptions should return the correct number of subscriptions'); >- is( $biblio->subscriptions_count, 2, 'subscriptions_count returns the correct number' ); > > $schema->storage->txn_rollback; > }; >-- >2.25.0
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 24467
:
97746
|
98198
|
98202
|
98218
|
98219
|
98220