X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=serials%2Frouting-preview.pl;h=437c85288b5ad8a561b727467f3def5c9da6e038;hb=fa510d978adf24c21d9981d76f036fbdfab4a26c;hp=7d5f65f5bde95ff233b22a08720ce8cc199a1c31;hpb=5ec00f6a55945a72b9bcbdd0c2659dc44acc4708;p=koha.git diff --git a/serials/routing-preview.pl b/serials/routing-preview.pl index 7d5f65f5bd..437c85288b 100755 --- a/serials/routing-preview.pl +++ b/serials/routing-preview.pl @@ -1,5 +1,20 @@ #!/usr/bin/perl +# This file is part of Koha. +# +# Koha is free software; you can redistribute it and/or modify it under the +# terms of the GNU General Public License as published by the Free Software +# Foundation; either version 2 of the License, or (at your option) any later +# version. +# +# Koha is distributed in the hope that it will be useful, but WITHOUT ANY +# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR +# A PARTICULAR PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with Koha; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + # 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 # of reserves for the serial @@ -41,50 +56,50 @@ if($edit){ print $query->redirect("routing.pl?subscriptionid=$subscriptionid"); } -my ($routing, @routinglist) = getroutinglist($subscriptionid); +my @routinglist = getroutinglist($subscriptionid); my $subs = GetSubscription($subscriptionid); -my ($count,@serials) = GetSerials($subscriptionid); +my ($tmp ,@serials) = GetSerials($subscriptionid); my ($template, $loggedinuser, $cookie); 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 = GetBranchName($branch); + + if (C4::Context->preference('RoutingListAddReserves')){ + # get existing reserves ..... + my ($count,$reserves) = GetReservesFromBiblionumber($biblio); + my $totalcount = $count; + foreach my $res (@$reserves) { + if ($res->{'found'} eq 'W') { + $count--; + } + } + my $const = 'o'; + 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}); + my $reserve = $sth->fetchrow_hashref; - # get existing reserves ..... - my ($count,$reserves) = GetReservesFromBiblionumber($biblio); - my $totalcount = $count; - foreach my $res (@$reserves) { - if ($res->{'found'} eq 'W') { - $count--; + if($routing->{borrowernumber} == $reserve->{borrowernumber}){ + ModReserve($routing->{ranking},$biblio,$routing->{borrowernumber},$branch); + } else { + AddReserve($branch,$routing->{borrowernumber},$biblio,$const,\@bibitems,$routing->{ranking}, undef, undef, $notes,$title); } } - my ($count2,@bibitems) = GetBiblioItemByBiblioNumber($biblio); - my @itemresults = GetItemsInfo($subs->{'biblionumber'}, 'intra'); - my $branch = $itemresults[0]->{'holdingbranch'}; - my $branchname = GetBranchName($branch); - my $const = 'o'; - my $notes; - my $title = $subs->{'bibliotitle'}; - for(my $i=0;$i<$routing;$i++){ - my $sth = $dbh->prepare("SELECT * FROM reserves WHERE biblionumber = ? AND borrowernumber = ?"); - $sth->execute($biblio,$routinglist[$i]->{'borrowernumber'}); - my $data = $sth->fetchrow_hashref; - -# warn "$routinglist[$i]->{'borrowernumber'} is the same as $data->{'borrowernumber'}"; - if($routinglist[$i]->{'borrowernumber'} == $data->{'borrowernumber'}){ - ModReserve($routinglist[$i]->{'ranking'},$biblio,$routinglist[$i]->{'borrowernumber'},$branch); - } else { - AddReserve($branch,$routinglist[$i]->{'borrowernumber'},$biblio,$const,\@bibitems,$routinglist[$i]->{'ranking'},'',$notes,$title); } - } - ($template, $loggedinuser, $cookie) = get_template_and_user({template_name => "serials/routing-preview-slip.tmpl", query => $query, type => "intranet", authnotrequired => 0, - flagsrequired => {serials => 1}, + flagsrequired => {serials => '*'}, debug => 1, }); $template->param("libraryname"=>$branchname); @@ -94,19 +109,16 @@ if($ok){ query => $query, type => "intranet", authnotrequired => 0, - flagsrequired => {serials => 1}, + flagsrequired => {serials => '*'}, debug => 1, }); } -my @results; -my $data; -for(my $i=0;$i<$routing;$i++){ - $data=GetMember($routinglist[$i]->{'borrowernumber'},'borrowernumber'); - $data->{'name'}="$data->{'firstname'} $data->{'surname'}"; - $data->{'routingid'}=$routinglist[$i]->{'routingid'}; - $data->{'subscriptionid'}=$subscriptionid; - push(@results, $data); +my $memberloop = []; +for my $routing (@routinglist) { + my $member = GetMember( borrowernumber => $routing->{borrowernumber} ); + $member->{name} = "$member->{firstname} $member->{surname}"; + push @{$memberloop}, $member; } my $routingnotes = $serials[0]->{'routingnotes'}; @@ -117,8 +129,11 @@ $template->param( issue => $issue, issue_escaped => URI::Escape::uri_escape($issue), subscriptionid => $subscriptionid, - memberloop => \@results, + memberloop => $memberloop, routingnotes => $routingnotes, + generalroutingnote => C4::Context->preference('RoutingListNote'), + hasRouting => check_routing($subscriptionid), + (uc(C4::Context->preference("marcflavour"))) => 1 ); - output_html_with_http_headers $query, $cookie, $template->output; +output_html_with_http_headers $query, $cookie, $template->output;