X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=serials%2Frouting.pl;h=524c71ddcced4f364010be26fbb179d75d2dbe86;hb=aacf00e94bc6aded555624aae834f045c8a17700;hp=52efd84699ededbf52b987323455c87cd2948057;hpb=f408ead60b7d55eb9f6fde05097a4e99278c1d1f;p=koha_fer diff --git a/serials/routing.pl b/serials/routing.pl index 52efd84699..524c71ddcc 100755 --- a/serials/routing.pl +++ b/serials/routing.pl @@ -1,30 +1,55 @@ #!/usr/bin/perl -# Routing.pl script used to create a routing list for a serial subscription -# In this instance it is in fact a setting up of a list of reserves for the item -# where the hierarchical order can be changed on the fly and a routing list can be -# printed out +# 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. + + +=head1 Routing.pl + +script used to create a routing list for a serial subscription +In this instance it is in fact a setting up of a list of reserves for the item +where the hierarchical order can be changed on the fly and a routing list can be +printed out + +=cut + 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::Interface::CGI::Output; +use C4::Output; use C4::Context; -use HTML::Template; -use C4::Search; + +use C4::Members; use C4::Serials; +use URI::Escape; + my $query = new CGI; my $subscriptionid = $query->param('subscriptionid'); my $serialseq = $query->param('serialseq'); my $routingid = $query->param('routingid'); -my $bornum = $query->param('bornum'); +my $borrowernumber = $query->param('borrowernumber'); my $notes = $query->param('notes'); -my $op = $query->param('op'); +my $op = $query->param('op') || q{}; my $date_selected = $query->param('date_selected'); +$date_selected ||= q{}; my $dbh = C4::Context->dbh; if($op eq 'delete'){ @@ -32,31 +57,32 @@ if($op eq 'delete'){ } if($op eq 'add'){ - addroutingmember($bornum,$subscriptionid); + addroutingmember($borrowernumber,$subscriptionid); } if($op eq 'save'){ my $sth = $dbh->prepare("UPDATE serial SET routingnotes = ? WHERE subscriptionid = ?"); $sth->execute($notes,$subscriptionid); - print $query->redirect("routing-preview.pl?subscriptionid=$subscriptionid&issue=$date_selected"); + my $urldate = URI::Escape::uri_escape($date_selected); + print $query->redirect("routing-preview.pl?subscriptionid=$subscriptionid&issue=$urldate"); } - + my ($routing, @routinglist) = getroutinglist($subscriptionid); my $subs = GetSubscription($subscriptionid); -my ($count,@serials) = old_getserials($subscriptionid); -my ($serialdates) = GetLatestSerials($subscriptionid,$count); - -my @dates; -my $i=0; -foreach my $dateseq (@$serialdates) { - $dates[$i]->{'planneddate'} = $dateseq->{'planneddate'}; - $dates[$i]->{'serialseq'} = $dateseq->{'serialseq'}; - $dates[$i]->{'serialid'} = $dateseq->{'serialid'}; - if($date_selected eq $dateseq->{'serialid'}){ - $dates[$i]->{'selected'} = ' selected'; - } else { - $dates[$i]->{'selected'} = ''; - } - $i++; +my ($count,@serials) = GetSerials($subscriptionid); +my $serialdates = GetLatestSerials($subscriptionid,$count); + +my $dates = []; +foreach my $dateseq (@{$serialdates}) { + my $d = {}; + $d->{planneddate} = $dateseq->{planneddate}; + $d->{serialseq} = $dateseq->{serialseq}; + $d->{serialid} = $dateseq->{serialid}; + if($date_selected eq $dateseq->{serialid}){ + $d->{selected} = ' selected'; + } else { + $d->{selected} = q{}; + } + push @{$dates}, $d; } my ($template, $loggedinuser, $cookie) @@ -64,60 +90,59 @@ my ($template, $loggedinuser, $cookie) query => $query, type => "intranet", authnotrequired => 0, - flagsrequired => {catalogue => 1}, + flagsrequired => {serials => 1}, debug => 1, }); -# my $date; -# if($serialseq){ -# for(my $i = 0;$i<@serials; $i++){ -# if($serials[$i]->{'serialseq'} eq $serialseq){ -# $date = $serials[$i]->{'planneddate'} -# } -# } -# } else { -# $serialseq = $serials[0]->{'serialseq'}; -# $date = $serials[0]->{'planneddate'}; -# } - -# my $issue = "$serialseq ($date)"; - + my @results; my $data; for(my $i=0;$i<$routing;$i++){ - $data=borrdata('',$routinglist[$i]->{'borrowernumber'}); - $data->{'location'}=$data->{'streetaddress'}; - $data->{'name'}="$data->{'firstname'} $data->{'surname'}"; + $data=GetMember('borrowernumber' => $routinglist[$i]->{'borrowernumber'}); + $data->{'location'}=$data->{'branchcode'}; + if ($data->{firstname} ) { + $data->{name} = $data->{firstname} . q| |; + } + else { + $data->{name} = q{}; + } + if ($data->{surname} ) { + $data->{name} .= $data->{surname}; + } $data->{'routingid'}=$routinglist[$i]->{'routingid'}; $data->{'subscriptionid'}=$subscriptionid; - my $rankingbox = ''; for(my $j=1; $j <= $routing; $j++) { $rankingbox .= ""; + $rankingbox .= " value=\"$j\">$j"; } $rankingbox .= ""; $data->{'routingbox'} = $rankingbox; - + push(@results, $data); } -# warn Dumper(@results); + # for adding routing list my $new; if ($op eq 'new') { $new = 1; } else { # for modify routing list default - $new => 0; + $new = 0; } $template->param( title => $subs->{'bibliotitle'}, subscriptionid => $subscriptionid, - memberloop => \@results, + memberloop => \@results, op => $new, - dates => \@dates, + dates => $dates, routingnotes => $serials[0]->{'routingnotes'}, );