X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=serials%2Frouting-preview.pl;h=40a8344633dcb48f9d304da414b94fb0cc9ff9eb;hb=bbb4c847b42c30ab785f21aa3195bf8831b452c6;hp=9c4238fed26fbf3a0857d4c4e1aa5207ea8fcd88;hpb=c840c9383558db8ebabfb9b84efccf72904ac061;p=srvgit diff --git a/serials/routing-preview.pl b/serials/routing-preview.pl index 9c4238fed2..40a8344633 100755 --- a/serials/routing-preview.pl +++ b/serials/routing-preview.pl @@ -16,10 +16,9 @@ # along with Koha; if not, see . # Routing Preview.pl script used to view a routing list after creation -# lets one print out routing slip and create (in this instance) the heirarchy +# lets one print out routing slip and create (in this instance) the hierarchy # of reserves for the serial -use strict; -use warnings; +use Modern::Perl; use CGI qw ( -utf8 ); use C4::Koha; use C4::Auth; @@ -33,9 +32,12 @@ use C4::Biblio; use C4::Items; use C4::Serials; use URI::Escape; + +use Koha::Biblios; use Koha::Libraries; +use Koha::Patrons; -my $query = new CGI; +my $query = CGI->new; my $subscriptionid = $query->param('subscriptionid'); my $issue = $query->param('issue'); my $routingid; @@ -60,40 +62,48 @@ my $subs = GetSubscription($subscriptionid); my ($tmp ,@serials) = GetSerials($subscriptionid); my ($template, $loggedinuser, $cookie); +my $library; if($ok){ # get biblio information.... - my $biblio = $subs->{'biblionumber'}; - my ($count2,@bibitems) = GetBiblioItemByBiblioNumber($biblio); - my @itemresults = GetItemsInfo( $subs->{biblionumber} ); - my $branch = $itemresults[0]->{'holdingbranch'}; - my $branchname = Koha::Libraries->find($branch)->branchname; + my $biblionumber = $subs->{'bibnum'}; + my @itemresults = GetItemsInfo( $biblionumber ); + my $branch = @itemresults ? $itemresults[0]->{'holdingbranch'} : $subs->{branchcode}; + $library = Koha::Libraries->find($branch); if (C4::Context->preference('RoutingListAddReserves')){ # get existing reserves ..... - my $reserves = GetReservesFromBiblionumber({ biblionumber => $biblio }); - my $count = scalar( @$reserves ); - my $totalcount = $count; - foreach my $res (@$reserves) { - if ($res->{'found'} eq 'W') { - $count--; - } - } + + my $biblio = Koha::Biblios->find( $biblionumber ); + my $holds = $biblio->current_holds; + my $count = $holds->count; + while ( my $hold = $holds->next ) { + $count-- if $hold->is_waiting; + } my $notes; my $title = $subs->{'bibliotitle'}; for my $routing ( @routinglist ) { my $sth = $dbh->prepare('SELECT * FROM reserves WHERE biblionumber = ? AND borrowernumber = ? LIMIT 1'); - $sth->execute($biblio,$routing->{borrowernumber}); + $sth->execute($biblionumber,$routing->{borrowernumber}); my $reserve = $sth->fetchrow_hashref; if($routing->{borrowernumber} == $reserve->{borrowernumber}){ ModReserve({ rank => $routing->{ranking}, - biblionumber => $biblio, + biblionumber => $biblionumber, borrowernumber => $routing->{borrowernumber}, branchcode => $branch }); } else { - AddReserve($branch,$routing->{borrowernumber},$biblio,\@bibitems,$routing->{ranking}, undef, undef, $notes,$title); + AddReserve( + { + branchcode => $branch, + borrowernumber => $routing->{borrowernumber}, + biblionumber => $biblionumber, + priority => $routing->{ranking}, + notes => $notes, + title => $title, + } + ); } } } @@ -102,25 +112,24 @@ if($ok){ = get_template_and_user({template_name => "serials/routing-preview-slip.tt", query => $query, type => "intranet", - authnotrequired => 0, flagsrequired => {serials => '*'}, debug => 1, }); - $template->param("libraryname"=>$branchname); } else { ($template, $loggedinuser, $cookie) = get_template_and_user({template_name => "serials/routing-preview.tt", query => $query, type => "intranet", - authnotrequired => 0, flagsrequired => {serials => '*'}, debug => 1, }); } +$template->param( libraryname => $library->branchname ) if $library; + my $memberloop = []; for my $routing (@routinglist) { - my $member = GetMember( borrowernumber => $routing->{borrowernumber} ); + my $member = Koha::Patrons->find( $routing->{borrowernumber} )->unblessed; $member->{name} = "$member->{firstname} $member->{surname}"; push @{$memberloop}, $member; } @@ -135,7 +144,6 @@ $template->param( subscriptionid => $subscriptionid, memberloop => $memberloop, routingnotes => $routingnotes, - generalroutingnote => C4::Context->preference('RoutingListNote'), hasRouting => check_routing($subscriptionid), (uc(C4::Context->preference("marcflavour"))) => 1 );