Bugzilla – Attachment 72571 Details for
Bug 18255
Koha::Biblio - Remove GetBiblioItemByBiblioNumber
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 18255: Replace GetBiblioItemByBiblioNumber with Koha::Biblio->biblioitem
Bug-18255-Replace-GetBiblioItemByBiblioNumber-with.patch (text/plain), 5.50 KB, created by
Kyle M Hall (khall)
on 2018-03-09 12:43:12 UTC
(
hide
)
Description:
Bug 18255: Replace GetBiblioItemByBiblioNumber with Koha::Biblio->biblioitem
Filename:
MIME Type:
Creator:
Kyle M Hall (khall)
Created:
2018-03-09 12:43:12 UTC
Size:
5.50 KB
patch
obsolete
>From 4837c822e4d569b33bfe0a268cc2587201d14f54 Mon Sep 17 00:00:00 2001 >From: Jonathan Druart <jonathan.druart@bugs.koha-community.org> >Date: Mon, 13 Mar 2017 13:04:01 -0300 >Subject: [PATCH] Bug 18255: Replace GetBiblioItemByBiblioNumber with > Koha::Biblio->biblioitem > >The subroutine GetBiblioItemByBiblioNumber considers that we have a 1-N >relation between biblio and biblioitems, which is wrong (it's 1-1). >So the calls can be replaced with Koha::biblio->biblioitem, it will ease >the read of the code. > >Test plan: >1. Use the ILSDI service to display info of a bibliographic record, >biblioitems fields must be displayed >2. Search for items, biblioitems info must be displayed as well in the >result table > >Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> >--- > C4/Biblio.pm | 24 ------------------------ > C4/ILSDI/Services.pm | 9 ++++++--- > catalogue/itemsearch.pl | 5 +++-- > cataloguing/merge.pl | 2 -- > serials/routing-preview.pl | 3 +-- > 5 files changed, 10 insertions(+), 33 deletions(-) > >diff --git a/C4/Biblio.pm b/C4/Biblio.pm >index dac0656..4eed6b7 100644 >--- a/C4/Biblio.pm >+++ b/C4/Biblio.pm >@@ -69,7 +69,6 @@ BEGIN { > GetMarcBiblio > GetBiblioItemData > GetBiblioItemInfosOf >- GetBiblioItemByBiblioNumber > > &GetRecordValue > >@@ -750,29 +749,6 @@ sub GetBiblioItemData { > return ($data); > } # sub &GetBiblioItemData > >-=head2 GetBiblioItemByBiblioNumber >- >-NOTE : This function has been copy/paste from C4/Biblio.pm from head before zebra integration. >- >-=cut >- >-sub GetBiblioItemByBiblioNumber { >- my ($biblionumber) = @_; >- my $dbh = C4::Context->dbh; >- my $sth = $dbh->prepare("Select * FROM biblioitems WHERE biblionumber = ?"); >- my $count = 0; >- my @results; >- >- $sth->execute($biblionumber); >- >- while ( my $data = $sth->fetchrow_hashref ) { >- push @results, $data; >- } >- >- $sth->finish; >- return @results; >-} >- > =head2 GetISBDView > > $isbd = &GetISBDView({ >diff --git a/C4/ILSDI/Services.pm b/C4/ILSDI/Services.pm >index c9069af..c431f2b 100644 >--- a/C4/ILSDI/Services.pm >+++ b/C4/ILSDI/Services.pm >@@ -208,9 +208,13 @@ sub GetRecords { > foreach my $biblionumber ( split( / /, $cgi->param('id') ) ) { > > # Get the biblioitem from the biblionumber >- my $biblioitem = ( GetBiblioItemByBiblioNumber( $biblionumber, undef ) )[0]; >- if ( not $biblioitem->{'biblionumber'} ) { >+ my $biblio = Koha::Biblios->find( $biblionumber ); >+ my $biblioitem = $biblio->biblioitem; >+ if ( $biblioitem ) { >+ $biblioitem = $biblioitem->unblessed; >+ } else { > $biblioitem->{code} = "RecordNotFound"; >+ # FIXME We should not need to process something else; next? > } > > my $embed_items = 1; >@@ -223,7 +227,6 @@ sub GetRecords { > > # Get most of the needed data > my $biblioitemnumber = $biblioitem->{'biblioitemnumber'}; >- my $biblio = Koha::Biblios->find( $biblionumber ); > my $holds = $biblio->current_holds->unblessed; > my $issues = GetBiblioIssues($biblionumber); > my $items = GetItemsByBiblioitemnumber($biblioitemnumber); >diff --git a/catalogue/itemsearch.pl b/catalogue/itemsearch.pl >index 369142e..517aa81 100755 >--- a/catalogue/itemsearch.pl >+++ b/catalogue/itemsearch.pl >@@ -233,8 +233,9 @@ if (scalar keys %params > 0) { > } > > foreach my $item (@$results) { >- $item->{biblio} = Koha::Biblios->find( $item->{biblionumber} ); >- ($item->{biblioitem}) = GetBiblioItemByBiblioNumber($item->{biblionumber}); >+ my $biblio = Koha::Biblios->find( $item->{biblionumber} ); >+ $item->{biblio} = $biblio; >+ $item->{biblioitem} = $biblio->biblioitem->unblessed; > $item->{status} = $notforloan_map->{$item->{notforloan}}; > if (defined $item->{location}) { > $item->{location} = $location_map->{$item->{location}}; >diff --git a/cataloguing/merge.pl b/cataloguing/merge.pl >index 4594671..e8b576a 100755 >--- a/cataloguing/merge.pl >+++ b/cataloguing/merge.pl >@@ -159,8 +159,6 @@ if ($merge) { > > # Moving orders (orders linked to items of frombiblio have already been moved by MoveItemFromBiblio) > my @allorders = GetOrdersByBiblionumber($biblionumber); >- my @tobiblioitem = GetBiblioItemByBiblioNumber ($ref_biblionumber); >- my $tobiblioitem_biblioitemnumber = $tobiblioitem [0]-> {biblioitemnumber }; > foreach my $myorder (@allorders) { > $myorder->{'biblionumber'} = $ref_biblionumber; > ModOrder ($myorder); >diff --git a/serials/routing-preview.pl b/serials/routing-preview.pl >index 798b14c..015005c 100755 >--- a/serials/routing-preview.pl >+++ b/serials/routing-preview.pl >@@ -66,7 +66,6 @@ my $library; > if($ok){ > # get biblio information.... > my $biblionumber = $subs->{'bibnum'}; >- my ($count2,@bibitems) = GetBiblioItemByBiblioNumber($biblionumber); > my @itemresults = GetItemsInfo( $biblionumber ); > my $branch = @itemresults ? $itemresults[0]->{'holdingbranch'} : $subs->{branchcode}; > $library = Koha::Libraries->find($branch); >@@ -95,7 +94,7 @@ if($ok){ > branchcode => $branch > }); > } else { >- AddReserve($branch,$routing->{borrowernumber},$biblionumber,\@bibitems,$routing->{ranking}, undef, undef, $notes,$title); >+ AddReserve($branch,$routing->{borrowernumber},$biblionumber,undef,$routing->{ranking}, undef, undef, $notes,$title); > } > } > } >-- >2.10.2
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 18255
:
61043
|
70379
|
72571
|
72604