X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=serials%2Frouting-preview.pl;h=5b9b5b0de9f4b4622f8c1b603f0fb88dd3849154;hb=5b8d8af2b486aa47caf715eac380852768cbef89;hp=10d1390cd87cac44a9e0febd45cfdfdd7a65a3cb;hpb=7e52a5665c02d76c9f99e64d841be795ca6f0546;p=koha.git diff --git a/serials/routing-preview.pl b/serials/routing-preview.pl index 10d1390cd8..5b9b5b0de9 100755 --- a/serials/routing-preview.pl +++ b/serials/routing-preview.pl @@ -4,18 +4,22 @@ # lets one print out routing slip and create (in this instance) the heirarchy # of reserves for the serial use strict; +use warnings; use CGI; use C4::Koha; use C4::Auth; -use C4::Date; +use C4::Dates; use C4::Output; use C4::Acquisition; -use C4::Reserves2; -use C4::Circulation::Circ2; -use C4::Interface::CGI::Output; +use C4::Reserves; +use C4::Circulation; use C4::Context; -use C4::Search; +use C4::Members; +use C4::Biblio; +use C4::Items; use C4::Serials; +use URI::Escape; +use C4::Branch; my $query = new CGI; my $subscriptionid = $query->param('subscriptionid'); @@ -29,78 +33,78 @@ my $dbh = C4::Context->dbh; if($delete){ delroutingmember($routingid,$subscriptionid); my $sth = $dbh->prepare("UPDATE serial SET routingnotes = NULL WHERE subscriptionid = ?"); - $sth->execute($subscriptionid); - print $query->redirect("routing.pl?subscriptionid=$subscriptionid&op=new"); + $sth->execute($subscriptionid); + print $query->redirect("routing.pl?subscriptionid=$subscriptionid&op=new"); } if($edit){ print $query->redirect("routing.pl?subscriptionid=$subscriptionid"); } - + my ($routing, @routinglist) = getroutinglist($subscriptionid); my $subs = GetSubscription($subscriptionid); my ($count,@serials) = GetSerials($subscriptionid); my ($template, $loggedinuser, $cookie); if($ok){ - my $env; # get biblio information.... my $biblio = $subs->{'biblionumber'}; - - # get existing reserves ..... - my ($count,$reserves) = FindReserves($biblio); - my $totalcount = $count; - foreach my $res (@$reserves) { - if ($res->{'found'} eq 'W') { - $count--; - } - } - my ($count2,@bibitems) = bibitems($biblio); - my @itemresults = ItemInfo($env, $subs->{'biblionumber'}, 'intra'); - my $branch = $itemresults[0]->{'holdingbranch'}; - 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 = ? - AND cancellationdate is NULL AND (found <> 'F' or found is NULL)"); - $sth->execute($biblio,$routinglist[$i]->{'borrowernumber'}); - my $data = $sth->fetchrow_hashref; -# warn Dumper($data); -# warn "$routinglist[$i]->{'borrowernumber'} is the same as $data->{'borrowernumber'}"; - if($routinglist[$i]->{'borrowernumber'} == $data->{'borrowernumber'}){ - UpdateReserve($routinglist[$i]->{'ranking'},$biblio,$routinglist[$i]->{'borrowernumber'},$branch); - } else { - CreateReserve(\$env,$branch,$routinglist[$i]->{'borrowernumber'},$biblio,$const,\@bibitems,$routinglist[$i]->{'ranking'},$notes,$title); + my ($count2,@bibitems) = GetBiblioItemByBiblioNumber($biblio); + my @itemresults = GetItemsInfo($subs->{'biblionumber'}, 'intra'); + 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 $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 => {catalogue => 1}, + flagsrequired => {serials => 1}, debug => 1, - }); + }); + $template->param("libraryname"=>$branchname); } else { ($template, $loggedinuser, $cookie) = get_template_and_user({template_name => "serials/routing-preview.tmpl", query => $query, type => "intranet", authnotrequired => 0, - flagsrequired => {catalogue => 1}, + flagsrequired => {serials => 1}, debug => 1, }); -} +} -# my $firstdate = "$serials[0]->{'serialseq'} ($serials[0]->{'planneddate'})"; my @results; my $data; for(my $i=0;$i<$routing;$i++){ - $data=borrdata('',$routinglist[$i]->{'borrowernumber'}); - $data->{'location'}=$data->{'streetaddress'}; + $data=GetMember($routinglist[$i]->{'borrowernumber'},'borrowernumber'); + $data->{'location'}=$data->{'branchcode'}; $data->{'name'}="$data->{'firstname'} $data->{'surname'}"; $data->{'routingid'}=$routinglist[$i]->{'routingid'}; $data->{'subscriptionid'}=$subscriptionid; @@ -109,13 +113,14 @@ for(my $i=0;$i<$routing;$i++){ my $routingnotes = $serials[0]->{'routingnotes'}; $routingnotes =~ s/\n/\
/g; - + $template->param( title => $subs->{'bibliotitle'}, issue => $issue, + issue_escaped => URI::Escape::uri_escape($issue), subscriptionid => $subscriptionid, - memberloop => \@results, + memberloop => \@results, routingnotes => $routingnotes, ); - output_html_with_http_headers $query, $cookie, $template->output; +output_html_with_http_headers $query, $cookie, $template->output;