X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=serials%2Frouting.pl;h=a95631bdf6398132d0d12daca8e96a869518650d;hb=6ade3cf57e37b517ef054723112cd369ce270728;hp=e739a2d12ccae8a4afeed1283410cb87994e32ff;hpb=a5746c616a1ee15b80614ce0de81d6c415236319;p=koha_fer diff --git a/serials/routing.pl b/serials/routing.pl index e739a2d12c..a95631bdf6 100755 --- a/serials/routing.pl +++ b/serials/routing.pl @@ -11,9 +11,9 @@ # 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., 59 Temple Place, -# Suite 330, Boston, MA 02111-1307 USA +# 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 @@ -26,6 +26,7 @@ printed out =cut use strict; +use warnings; use CGI; use C4::Koha; use C4::Auth; @@ -38,14 +39,17 @@ use C4::Context; 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 $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'){ @@ -56,90 +60,69 @@ if($op eq 'add'){ addroutingmember($borrowernumber,$subscriptionid); } if($op eq 'save'){ - my $sth = $dbh->prepare("UPDATE serial SET routingnotes = ? WHERE subscriptionid = ?"); + 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 @routinglist = getroutinglist($subscriptionid); my $subs = GetSubscription($subscriptionid); my ($count,@serials) = 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 $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) -= get_template_and_user({template_name => "serials/routing.tmpl", += get_template_and_user({template_name => 'serials/routing.tmpl', query => $query, - type => "intranet", + type => 'intranet', authnotrequired => 0, - flagsrequired => {serials => 1}, + flagsrequired => {serials => 'routing'}, 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=GetMember($routinglist[$i]->{'borrowernumber'},'borrowernumber'); - $data->{'location'}=$data->{'streetaddress'}; - $data->{'name'}="$data->{'firstname'} $data->{'surname'}"; - $data->{'routingid'}=$routinglist[$i]->{'routingid'}; - $data->{'subscriptionid'}=$subscriptionid; - my $rankingbox = '"; - $data->{'routingbox'} = $rankingbox; - - push(@results, $data); -} + else { + $member->{name} = q{}; + } + if ($member->{surname} ) { + $member->{name} .= $member->{surname}; + } + $member->{routingid}=$routing->{routingid} || q{}; + $member->{ranking} = $routing->{ranking} || q{}; -# for adding routing list -my $new; -if ($op eq 'new') { - $new = 1; -} else { -# for modify routing list default - $new => 0; + push(@{$member_loop}, $member); } $template->param( - title => $subs->{'bibliotitle'}, + title => $subs->{bibliotitle}, subscriptionid => $subscriptionid, - memberloop => \@results, - op => $new, - dates => \@dates, + memberloop => $member_loop, + op => $op eq 'new', + dates => $dates, routingnotes => $serials[0]->{'routingnotes'}, + 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;