Bugzilla – Attachment 64826 Details for
Bug 18259
Koha::Biblio - Remove GetSubscriptionsId
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 18259: Koha::Biblio - Remove GetSubscriptionsId
Bug-18259-KohaBiblio---Remove-GetSubscriptionsId.patch (text/plain), 6.98 KB, created by
Jonathan Druart
on 2017-07-05 19:44:47 UTC
(
hide
)
Description:
Bug 18259: Koha::Biblio - Remove GetSubscriptionsId
Filename:
MIME Type:
Creator:
Jonathan Druart
Created:
2017-07-05 19:44:47 UTC
Size:
6.98 KB
patch
obsolete
>From 910b4988806e29a4ea6d8a85296668b5fcc5cf42 Mon Sep 17 00:00:00 2001 >From: Jonathan Druart <jonathan.druart@bugs.koha-community.org> >Date: Mon, 13 Mar 2017 15:38:54 -0300 >Subject: [PATCH] Bug 18259: Koha::Biblio - Remove GetSubscriptionsId > >C4::Biblio::GetSubscriptionsId can be replaced using >Koha::Biblio->subscriptions > >Test plan: >Create a new order for a bibliographic record >Create a new subscription on this biblio >From the basket (acquisition), confirm that you are not able to delete >the order with the biblio ("Can't cancel order and delete catalog record >1 subscription(s) left") >Receive the order >On the parcel page, confirm that you are not able to delete the order >with the biblio > >Signed-off-by: Josef Moravec <josef.moravec@gmail.com> >--- > C4/Biblio.pm | 21 --------------------- > acqui/basket.pl | 14 +++++++------- > acqui/parcel.pl | 8 ++++---- > 3 files changed, 11 insertions(+), 32 deletions(-) > >diff --git a/C4/Biblio.pm b/C4/Biblio.pm >index 80ca362928..258aaa97dc 100644 >--- a/C4/Biblio.pm >+++ b/C4/Biblio.pm >@@ -104,7 +104,6 @@ BEGIN { > > &CountItemsIssued > &CountBiblioInOrders >- &GetSubscriptionsId > ); > > # To modify something >@@ -3509,26 +3508,6 @@ sub CountBiblioInOrders { > return ($count); > } > >-=head2 GetSubscriptionsId >- >- $subscriptions = &GetSubscriptionsId($biblionumber); >- >-This function return an array of subscriptionid with $biblionumber >- >-=cut >- >-sub GetSubscriptionsId { >- my ($biblionumber) = @_; >- my $dbh = C4::Context->dbh; >- my $query = "SELECT subscriptionid >- FROM subscription >- WHERE biblionumber=?"; >- my $sth = $dbh->prepare($query); >- $sth->execute($biblionumber); >- my @subscriptions = $sth->fetchrow_array; >- return (@subscriptions); >-} >- > =head2 prepare_host_field > > $marcfield = prepare_host_field( $hostbiblioitem, $marcflavour ); >diff --git a/acqui/basket.pl b/acqui/basket.pl >index 244e471a9b..3506f5f99d 100755 >--- a/acqui/basket.pl >+++ b/acqui/basket.pl >@@ -134,10 +134,10 @@ if ( $op eq 'delete_confirm' ) { > my $biblio = Koha::Biblios->find( $biblionumber ); > my $countbiblio = CountBiblioInOrders($biblionumber); > my $ordernumber = $myorder->{'ordernumber'}; >- my $subscriptions = scalar GetSubscriptionsId ($biblionumber); >+ my $has_subscriptions = $biblio->subscriptions->count; > my $itemcount = $biblio->items->count; > my $error; >- if ($countbiblio == 0 && $itemcount == 0 && $subscriptions == 0) { >+ if ($countbiblio == 0 && $itemcount == 0 && not $has_subscriptions ) { > $error = DelBiblio($myorder->{biblionumber}) } > else { > push @cannotdelbiblios, {biblionumber=> ($myorder->{biblionumber}), >@@ -145,7 +145,7 @@ if ( $op eq 'delete_confirm' ) { > author=> $myorder->{'author'}, > countbiblio=> $countbiblio, > itemcount=>$itemcount, >- subscriptions=>$subscriptions}; >+ subscriptions => $has_subscriptions}; > } > if ($error) { > push @cannotdelbiblios, {biblionumber=> ($myorder->{biblionumber}), >@@ -474,20 +474,20 @@ sub get_order_infos { > my $biblio = Koha::Biblios->find( $biblionumber ); > my $countbiblio = CountBiblioInOrders($biblionumber); > my $ordernumber = $order->{'ordernumber'}; >- my @subscriptions = GetSubscriptionsId ($biblionumber); >+ my $has_subscriptions = $biblio->subscriptions->count; > my $itemcount = $biblio->items->count; > my $holds_count = $biblio->holds->count; > my @items = GetItemnumbersFromOrder( $ordernumber ); > my $itemholds = $biblio->holds->search({ itemnumber => { -in => \@items } })->count; > > # if the biblio is not in other orders and if there is no items elsewhere and no subscriptions and no holds we can then show the link "Delete order and Biblio" see bug 5680 >- $line{can_del_bib} = 1 if $countbiblio <= 1 && $itemcount == scalar @items && !(@subscriptions) && !($holds_count); >+ $line{can_del_bib} = 1 if $countbiblio <= 1 && $itemcount == scalar @items && !($has_subscriptions) && !($holds_count); > $line{items} = ($itemcount) - (scalar @items); > $line{left_item} = 1 if $line{items} >= 1; > $line{left_biblio} = 1 if $countbiblio > 1; > $line{biblios} = $countbiblio - 1; >- $line{left_subscription} = 1 if scalar @subscriptions >= 1; >- $line{subscriptions} = scalar @subscriptions; >+ $line{left_subscription} = 1 if $has_subscriptions; >+ $line{subscriptions} = $has_subscriptions; > ($holds_count >= 1) ? $line{left_holds} = 1 : $line{left_holds} = 0; > $line{left_holds_on_order} = 1 if $line{left_holds}==1 && ($line{items} == 0 || $itemholds ); > $line{holds} = $holds_count; >diff --git a/acqui/parcel.pl b/acqui/parcel.pl >index 4ba5b5fe30..14518a86a7 100755 >--- a/acqui/parcel.pl >+++ b/acqui/parcel.pl >@@ -241,7 +241,7 @@ unless( defined $invoice->{closedate} ) { > my $biblio = Koha::Biblios->find( $biblionumber ); > my $countbiblio = CountBiblioInOrders($biblionumber); > my $ordernumber = $line{'ordernumber'}; >- my @subscriptions = GetSubscriptionsId ($biblionumber); >+ my $has_subscriptions = $biblio->subscriptions->count; > my $itemcount = $biblio->items->count; > my $holds_count = $biblio->holds->count; > my @items = GetItemnumbersFromOrder( $ordernumber ); >@@ -253,13 +253,13 @@ unless( defined $invoice->{closedate} ) { > $line{firstnamesuggestedby} = $suggestion->{firstnamesuggestedby}; > > # if the biblio is not in other orders and if there is no items elsewhere and no subscriptions and no holds we can then show the link "Delete order and Biblio" see bug 5680 >- $line{can_del_bib} = 1 if $countbiblio <= 1 && $itemcount == scalar @items && !(@subscriptions) && !($holds_count); >+ $line{can_del_bib} = 1 if $countbiblio <= 1 && $itemcount == scalar @items && !($has_subscriptions) && !($holds_count); > $line{items} = ($itemcount) - (scalar @items); > $line{left_item} = 1 if $line{items} >= 1; > $line{left_biblio} = 1 if $countbiblio > 1; > $line{biblios} = $countbiblio - 1; >- $line{left_subscription} = 1 if scalar @subscriptions >= 1; >- $line{subscriptions} = scalar @subscriptions; >+ $line{left_subscription} = 1 if $has_subscriptions; >+ $line{subscriptions} = $has_subscriptions; > $line{left_holds} = ($holds_count >= 1) ? 1 : 0; > $line{left_holds_on_order} = 1 if $line{left_holds}==1 && ($line{items} == 0 || $itemholds ); > $line{holds} = $holds_count; >-- >2.11.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 18259
:
61051
|
63889
|
64826
|
65041
|
65042
|
65043
|
65044