X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=serials%2Frouting-preview.pl;h=1e0bd0971f180231b7b07b568995ce5bbe1f67fa;hb=2b8b5ae225af6119e41e2112f9a8573b4170b927;hp=64849b573a79f065b5b67eebfcb5d1394f616690;hpb=0fff79d6b464eb9e053ed568234e43695fbec66b;p=koha_fer diff --git a/serials/routing-preview.pl b/serials/routing-preview.pl index 64849b573a..1e0bd0971f 100755 --- a/serials/routing-preview.pl +++ b/serials/routing-preview.pl @@ -56,7 +56,7 @@ if($edit){ print $query->redirect("routing.pl?subscriptionid=$subscriptionid"); } -my ($routing, @routinglist) = getroutinglist($subscriptionid); +my @routinglist = getroutinglist($subscriptionid); my $subs = GetSubscription($subscriptionid); my ($tmp ,@serials) = GetSerials($subscriptionid); my ($template, $loggedinuser, $cookie); @@ -71,8 +71,9 @@ if($ok){ if (C4::Context->preference('RoutingListAddReserves')){ # get existing reserves ..... - my ($count,$reserves) = GetReservesFromBiblionumber($biblio); - my $totalcount = $count; + my $reserves = GetReservesFromBiblionumber({ biblionumber => $biblio }); + my $count = scalar( @$reserves ); + my $totalcount = $count; foreach my $res (@$reserves) { if ($res->{'found'} eq 'W') { $count--; @@ -81,18 +82,22 @@ if($ok){ 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; + 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; - # 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); - } - } + if($routing->{borrowernumber} == $reserve->{borrowernumber}){ + ModReserve({ + rank => $routing->{ranking}, + biblionumber => $biblio, + borrowernumber => $routing->{borrowernumber}, + branchcode => $branch + }); + } else { + AddReserve($branch,$routing->{borrowernumber},$biblio,$const,\@bibitems,$routing->{ranking}, undef, undef, $notes,$title); + } + } } ($template, $loggedinuser, $cookie) @@ -100,7 +105,7 @@ if($ok){ query => $query, type => "intranet", authnotrequired => 0, - flagsrequired => {serials => 'routing'}, + flagsrequired => {serials => '*'}, debug => 1, }); $template->param("libraryname"=>$branchname); @@ -110,20 +115,16 @@ if($ok){ query => $query, type => "intranet", authnotrequired => 0, - flagsrequired => {serials => 'routing'}, + flagsrequired => {serials => '*'}, debug => 1, }); } -my @results; -my $data; -for(my $i=0;$i<$routing;$i++){ - $data=GetMember('borrowernumber' => $routinglist[$i]->{'borrowernumber'}); - $data->{'location'}=$data->{'branchcode'}; - $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'}; @@ -134,9 +135,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;