X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=serials%2Fsubscription-renew.pl;h=bbbc8e501d6ad98942a5a309ae2fe9669c058507;hb=f92328332380c805f83ca7f4aed2e828bd112778;hp=127e47e89b4e1d36547c3cf28ac5e182d4c8cbd5;hpb=f408ead60b7d55eb9f6fde05097a4e99278c1d1f;p=srvgit diff --git a/serials/subscription-renew.pl b/serials/subscription-renew.pl index 127e47e89b..bbbc8e501d 100755 --- a/serials/subscription-renew.pl +++ b/serials/subscription-renew.pl @@ -1,24 +1,22 @@ #!/usr/bin/perl -# WARNING: 4-character tab stops here # Copyright 2000-2002 Katipo Communications # # 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., 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, see . -# $Id$ =head1 NAME @@ -45,58 +43,65 @@ Id of the subscription this script has to renew =cut - use strict; -require Exporter; -use CGI; +use warnings; + +use CGI qw ( -utf8 ); +use Carp; use C4::Koha; use C4::Auth; -use C4::Date; -use HTML::Template; use C4::Context; -use C4::Search; use C4::Auth; use C4::Output; -use C4::Interface::CGI::Output; use C4::Serials; +use Koha::DateUtils; my $query = new CGI; -my $dbh = C4::Context->dbh; +my $dbh = C4::Context->dbh; -my $op = $query->param('op'); +my $mode = $query->param('mode') || q{}; +my $op = $query->param('op') || 'display'; my $subscriptionid = $query->param('subscriptionid'); -my $done = 0; # for after form has been submitted -my ($template, $loggedinuser, $cookie) - = get_template_and_user({template_name => "serials/subscription-renew.tmpl", - query => $query, - type => "intranet", - authnotrequired => 0, - flagsrequired => {catalogue => 1}, - debug => 1, - }); -if ($op eq "renew") { - ReNewSubscription($subscriptionid,$loggedinuser,$query->param('startdate'),$query->param('numberlength'),$query->param('weeklength'),$query->param('monthlength'),$query->param('note')); - $done = 1; +my $done = 0; # for after form has been submitted +my ( $template, $loggedinuser, $cookie ) = get_template_and_user( + { + template_name => "serials/subscription-renew.tt", + query => $query, + type => "intranet", + authnotrequired => 0, + flagsrequired => { serials => 'renew_subscription' }, + debug => 1, + } +); +if ( $op eq "renew" ) { + my $startdate = output_pref( { str => scalar $query->param('startdate'), dateonly => 1, dateformat => 'iso' } ); + ReNewSubscription( + $subscriptionid, $loggedinuser, + $startdate, $query->param('numberlength'), + $query->param('weeklength'), $query->param('monthlength'), + $query->param('note') + ); +} + +my $subscription = GetSubscription($subscriptionid); +if ($subscription->{'cannotedit'}){ + carp "Attempt to renew subscription $subscriptionid by ".C4::Context->userenv->{'id'}." not allowed"; + print $query->redirect("/cgi-bin/koha/serials/subscription-detail.pl?subscriptionid=$subscriptionid"); } -my $subscription= GetSubscription($subscriptionid); - -$template->param(startdate => format_date(GetSubscriptionExpirationDate($subscriptionid)), - numberlength => $subscription->{numberlength}, - weeklength => $subscription->{weeklength}, - monthlength => $subscription->{monthlength}, - subscriptionid => $subscriptionid, - bibliotitle => $subscription->{bibliotitle}, - $op => 1, - done => $done, - intranetcolorstylesheet => C4::Context->preference("intranetcolorstylesheet"), - intranetstylesheet => C4::Context->preference("intranetstylesheet"), - IntranetNav => C4::Context->preference("IntranetNav"), - ); +my $newstartdate = output_pref( { str => $subscription->{enddate}, dateonly => 1 } ) + or output_pref( { dt => dt_from_string, dateonly => 1 } ); + +$template->param( + startdate => $newstartdate, + numberlength => $subscription->{numberlength}, + weeklength => $subscription->{weeklength}, + monthlength => $subscription->{monthlength}, + subscriptionid => $subscriptionid, + bibliotitle => $subscription->{bibliotitle}, + $op => 1, + popup => ($mode eq 'popup'), +); # Print the page output_html_with_http_headers $query, $cookie, $template->output; - -# Local Variables: -# tab-width: 4 -# End: