Bugzilla – Attachment 77750 Details for
Bug 17674
Allow UI to delete serials issues in batch
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 17674 - Renamed GetSerialItemsInformations to get_serial_items_count and use new OOP logic
Bug-17674---Renamed-GetSerialItemsInformations-to-.patch (text/plain), 7.82 KB, created by
Owen Leonard
on 2018-08-13 14:30:27 UTC
(
hide
)
Description:
Bug 17674 - Renamed GetSerialItemsInformations to get_serial_items_count and use new OOP logic
Filename:
MIME Type:
Creator:
Owen Leonard
Created:
2018-08-13 14:30:27 UTC
Size:
7.82 KB
patch
obsolete
>From fa6d7002a266bf5a83922f2fbf7a633606218873 Mon Sep 17 00:00:00 2001 >From: Roch D'Amour <roch.damour@inlibro.com> >Date: Thu, 15 Mar 2018 14:45:37 -0400 >Subject: [PATCH] Bug 17674 - Renamed GetSerialItemsInformations to > get_serial_items_count and use new OOP logic >MIME-Version: 1.0 >Content-Type: text/plain; charset=UTF-8 >Content-Transfer-Encoding: 8bit > >Signed-off-by: Séverine QUEUNE <severine.queune@bulac.fr> >--- > Koha/Serials.pm | 28 +++++++++++++++------------- > serials/serials-collection.pl | 2 +- > t/db_dependent/Serials.t | 36 ++++++++++++++++++------------------ > 3 files changed, 34 insertions(+), 32 deletions(-) > >diff --git a/Koha/Serials.pm b/Koha/Serials.pm >index e5ba33c..f757940 100644 >--- a/Koha/Serials.pm >+++ b/Koha/Serials.pm >@@ -24,6 +24,7 @@ use Carp; > use Koha::Database; > > use Koha::Serial; >+use Koha::Serial::Items; > > use base qw(Koha::Objects); > >@@ -33,7 +34,7 @@ BEGIN { > require Exporter; > @ISA = qw(Exporter); > @EXPORT = qw( >- &GetSerialItemsInformations >+ &get_serial_items_count > ); > } > >@@ -59,29 +60,30 @@ sub object_class { > return 'Koha::Serial'; > } > >-=head2 GetSerialItemsInformations >+=head2 get_serial_items_count > >- @serialsitemsinformations = GetSerialItemsInformations (@serialid) >+ @serialsitemsinformations = get_serial_items_count (@serialid) > > return an array of specifique information of serials and serialitem a given array of serialid > > =cut > >-sub GetSerialItemsInformations{ >- my ( @serialid ) = @_; >+sub get_serial_items_count{ >+ my ( @self ) = @_; > my @serialitemsinformation; >- my $dbh = C4::Context->dbh; > >- foreach my $sid ( @serialid ) { >- my $sth = $dbh->prepare("select count(i.itemnumber) as countitems,s.itemnumber as itemnumber from items i natural join serialitems s where s.serialid=?"); >- $sth->execute( $sid ); >+ foreach my $sid ( @self ) { >+ my $serialitems = Koha::Serial::Items->search({ serialid => $sid}) ; > >- my $line = $sth->fetchrow_hashref; >- if( $line->{'countitems'} ){ >- push @serialitemsinformation, $line; >+ my $countitem = 0; >+ while ( my $s = $serialitems->next() ) { >+ $countitem++; > } >+ >+ push @serialitemsinformation,{'countitems' => $countitem, 'serialid' => $sid } if $countitem; > } >- return @serialitemsinformation; >+ >+ return @serialitemsinformation; > } > > =head1 AUTHOR >diff --git a/serials/serials-collection.pl b/serials/serials-collection.pl >index e0c61ac..076ca8e 100755 >--- a/serials/serials-collection.pl >+++ b/serials/serials-collection.pl >@@ -63,7 +63,7 @@ my $subscriptions; > my $delete; > my $countitems=0; > my @ids=split("!",$serialsid); >-my @serialitemsinformation=GetSerialItemsInformations(@ids); >+my @serialitemsinformation=get_serial_items_count(@ids); > my $subscriptionid = $subscriptionid[0]; > if($op eq 'gennext' && @subscriptionid){ > my $subscriptionid = $subscriptionid[0]; >diff --git a/t/db_dependent/Serials.t b/t/db_dependent/Serials.t >index 6093724..6954cd8 100755 >--- a/t/db_dependent/Serials.t >+++ b/t/db_dependent/Serials.t >@@ -348,9 +348,9 @@ subtest "Do not generate an expected if one already exists" => sub { > is( @serialsByStatus, 1, "ModSerialStatus delete corectly serial expected and not create another if exists" ); > }; > >-subtest "Test GetSerialItemsInformations " => sub { >+subtest "Test get_serial_items_count " => sub { > plan tests => 4; >- is (Koha::Serials::GetSerialItemsInformations(),0,"test GetSerialItemsInformation with nothing parameters "); >+ is (Koha::Serials::get_serial_items_count(),0,"test get_serial_items_count with nothing parameters "); > my $branchcode = $builder->build({ source => 'Branch' })->{ branchcode }; > my $itemtype = $builder->build({ source => 'Itemtype' })->{ itemtype }; > my ($biblionumber1, $bibitemnumber) = AddBiblio(MARC::Record->new, ''); >@@ -365,31 +365,31 @@ subtest "Test GetSerialItemsInformations " => sub { > my $itemnumber3 = AddItem({ barcode => '0103', %item_infos }, $biblionumber1); > my $itemnumber4 = AddItem({ barcode => '0104', %item_infos }, $biblionumber1); > my @serialid = ($serials[0]->{serialid},$serials[1]->{serialid}); >- is (Koha::Serials::GetSerialItemsInformations(@serialid),0,"test GetSerialItemsInformation with array of serialid and none have items"); >+ is (Koha::Serials::get_serial_items_count(@serialid),0,"test get_serial_items_count with array of serialid and none have items"); > subtest "Test with 2 serials and each have one item" => sub { > plan tests => 5; > AddItem2Serial($serialid[0],$itemnumber1); >- my @result = Koha::Serials::GetSerialItemsInformations(@serialid); >- is (scalar @result, 1 , "GetSerialItemsInformation return right length of array using 1 serial with 1 item"); >- is ($result[0]->{countitems}, 1 , "GetSerialItemsInformation return right number items of serial1"); >+ my @result = Koha::Serials::get_serial_items_count(@serialid); >+ is (scalar @result, 1 , "get_serial_items_count return right length of array using 1 serial with 1 item"); >+ is ($result[0]->{countitems}, 1 , "get_serial_items_count return right number items of serial1"); > AddItem2Serial($serialid[1],$itemnumber3); >- @result = Koha::Serials::GetSerialItemsInformations(@serialid); >- is (scalar @result, 2 , "GetSerialItemsInformation return right length of array using 2 serials and each have 1 item"); >- is ($result[0]->{countitems}, 1 , "GetSerialItemsInformation return right number items of serial1"); >- is ($result[1]->{countitems}, 1 , "GetSerialItemsInformation return right number items of serial2"); >+ @result = Koha::Serials::get_serial_items_count(@serialid); >+ is (scalar @result, 2 , "get_serial_items_count return right length of array using 2 serials and each have 1 item"); >+ is ($result[0]->{countitems}, 1 , "get_serial_items_count return right number items of serial1"); >+ is ($result[1]->{countitems}, 1 , "get_serial_items_count return right number items of serial2"); > }; > subtest "Test with 2 serials and each have 2 items" => sub { > plan tests => 6; > AddItem2Serial($serialid[0],$itemnumber2); >- my @result = Koha::Serials::GetSerialItemsInformations(@serialid); >- is (scalar @result, 2 , "GetSerialItemsInformation return right length of array using 2 serials "); >- is ($result[0]->{countitems}, 2 , "GetSerialItemsInformation return right number items of serial1"); >- is ($result[1]->{countitems}, 1 , "GetSerialItemsInformation return right number items of serial2"); >+ my @result = Koha::Serials::get_serial_items_count(@serialid); >+ is (scalar @result, 2 , "get_serial_items_count return right length of array using 2 serials "); >+ is ($result[0]->{countitems}, 2 , "get_serial_items_count return right number items of serial1"); >+ is ($result[1]->{countitems}, 1 , "get_serial_items_count return right number items of serial2"); > AddItem2Serial($serialid[1],$itemnumber4); >- @result = Koha::Serials::GetSerialItemsInformations(@serialid); >- is (scalar @result, 2 , "GetSerialItemsInformation return right length of array using 2 serials and each have 2 items "); >- is ($result[0]->{countitems}, 2 , "GetSerialItemsInformation return right number items of serial1"); >- is ($result[1]->{countitems}, 2 , "GetSerialItemsInformation return right number items of serial2"); >+ @result = Koha::Serials::get_serial_items_count(@serialid); >+ is (scalar @result, 2 , "get_serial_items_count return right length of array using 2 serials and each have 2 items "); >+ is ($result[0]->{countitems}, 2 , "get_serial_items_count return right number items of serial1"); >+ is ($result[1]->{countitems}, 2 , "get_serial_items_count return right number items of serial2"); > }; > }; > >-- >2.1.4
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 17674
:
57731
|
58262
|
58263
|
58264
|
60925
|
61314
|
61315
|
61316
|
66565
|
69007
|
69010
|
69011
|
69013
|
69976
|
69977
|
69978
|
69979
|
71865
|
71866
|
71867
|
71868
|
71869
|
72985
|
73032
|
73035
|
73036
|
73037
|
73038
|
73039
|
73040
|
74318
|
74359
|
74472
|
75643
|
75644
|
75645
|
75646
|
75647
|
75648
|
75649
|
77745
|
77746
|
77747
|
77748
|
77749
|
77750
|
77751
|
77861
|
77862
|
77863
|
77864
|
77865
|
77866
|
77867
|
77868
|
79415
|
79420
|
79421
|
79422
|
79423
|
79424
|
79425
|
79426
|
79427
|
79428
|
79453
|
79454
|
79455
|
79456
|
79457
|
79458
|
79459
|
79460
|
80859
|
80944
|
80955
|
82237
|
86689
|
95474
|
99434
|
99944
|
99945
|
100906
|
100907