X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=serials%2Frouting.pl;h=8d893f66defc146eadec6df2210a6d3e03b02a8a;hb=e3212c8a969ff17783e50d564aaa412bd01a99b1;hp=2bd7d692101ed9344d02fe5255a8cacd5b7d92e6;hpb=93ffca4eef68f9ce6f28660c0b6ab759330f4a72;p=koha.git diff --git a/serials/routing.pl b/serials/routing.pl index 2bd7d69210..8d893f66de 100755 --- a/serials/routing.pl +++ b/serials/routing.pl @@ -2,18 +2,18 @@ # 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 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 3 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. +# 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. +# You should have received a copy of the GNU General Public License +# along with Koha; if not, see . =head1 Routing.pl @@ -25,12 +25,10 @@ printed out =cut -use strict; -use warnings; -use CGI; +use Modern::Perl; +use CGI qw ( -utf8 ); use C4::Koha; use C4::Auth; -use C4::Dates; use C4::Output; use C4::Acquisition; use C4::Output; @@ -38,6 +36,7 @@ use C4::Context; use C4::Members; use C4::Serials; +use Koha::Patrons; use URI::Escape; @@ -52,6 +51,21 @@ my $date_selected = $query->param('date_selected'); $date_selected ||= q{}; my $dbh = C4::Context->dbh; +my ( $template, $loggedinuser, $cookie ) = get_template_and_user( + { + template_name => 'serials/routing.tt', + query => $query, + type => 'intranet', + authnotrequired => 0, + flagsrequired => { serials => 'routing' }, + } +); + +my $subs = GetSubscription($subscriptionid); + +output_and_exit( $query, $cookie, $template, 'unknown_subscription') + unless $subs; + if($op eq 'delete'){ delroutingmember($routingid,$subscriptionid); } @@ -60,21 +74,21 @@ 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); - my $urldate = URI::Escape::uri_escape($date_selected); + my $urldate = URI::Escape::uri_escape_utf8($date_selected); print $query->redirect("routing-preview.pl?subscriptionid=$subscriptionid&issue=$urldate"); } -my ($routing, @routinglist) = getroutinglist($subscriptionid); -my $subs = GetSubscription($subscriptionid); +my @routinglist = getroutinglist($subscriptionid); + my ($count,@serials) = GetSerials($subscriptionid); my $serialdates = GetLatestSerials($subscriptionid,$count); my $dates = []; foreach my $dateseq (@{$serialdates}) { my $d = {}; - $d->{planneddate} = $dateseq->{planneddate}; + $d->{publisheddate} = $dateseq->{publisheddate}; $d->{serialseq} = $dateseq->{serialseq}; $d->{serialid} = $dateseq->{serialid}; if($date_selected eq $dateseq->{serialid}){ @@ -85,66 +99,35 @@ foreach my $dateseq (@{$serialdates}) { push @{$dates}, $d; } -my ($template, $loggedinuser, $cookie) -= get_template_and_user({template_name => "serials/routing.tmpl", - query => $query, - type => "intranet", - authnotrequired => 0, - flagsrequired => {serials => 'routing'}, - debug => 1, - }); - -my @results; -my $data; -for(my $i=0;$i<$routing;$i++){ - $data=GetMember('borrowernumber' => $routinglist[$i]->{'borrowernumber'}); - $data->{'location'}=$data->{'branchcode'}; - if ($data->{firstname} ) { - $data->{name} = $data->{firstname} . q| |; +my $member_loop = []; +for my $routing ( @routinglist ) { + my $member = Koha::Patrons->find( $routing->{borrowernumber} )->unblessed; + $member->{location} = $member->{branchcode}; + if ($member->{firstname} ) { + $member->{name} = $member->{firstname} . q| |; } else { - $data->{name} = q{}; - } - if ($data->{surname} ) { - $data->{name} .= $data->{surname}; - } - $data->{'routingid'}=$routinglist[$i]->{'routingid'}; - $data->{'subscriptionid'}=$subscriptionid; - if (! $routinglist[$i]->{routingid} ) { - $routinglist[$i]->{routingid} = q||; + $member->{name} = q{}; } - my $rankingbox = '"; - $data->{'routingbox'} = $rankingbox; + $member->{routingid}=$routing->{routingid} || q{}; + $member->{ranking} = $routing->{ranking} || q{}; - push(@results, $data); -} - -# 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, + 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;