X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=serials%2Fsubscription-renew.pl;h=48861bcae47419c82de73c3dc90fc22ed3733e85;hb=d542740ab8877234d043c8a11cb19a6004e72656;hp=b5ef08fd7b037b323153a2558b5db3787050107b;hpb=da68b830cb4bd07c3daf3a1c00242675d18f760e;p=koha_fer diff --git a/serials/subscription-renew.pl b/serials/subscription-renew.pl index b5ef08fd7b..48861bcae4 100755 --- a/serials/subscription-renew.pl +++ b/serials/subscription-renew.pl @@ -1,5 +1,4 @@ #!/usr/bin/perl -# WARNING: 4-character tab stops here # Copyright 2000-2002 Katipo Communications # @@ -14,11 +13,10 @@ # 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. -# $Id$ =head1 NAME @@ -45,56 +43,64 @@ Id of the subscription this script has to renew =cut - use strict; -require Exporter; +use warnings; + use CGI; +use Carp; use C4::Koha; use C4::Auth; -use C4::Date; +use C4::Dates qw/format_date/; use C4::Context; -use C4::Search; use C4::Auth; -use C4::Interface::CGI::Output; +use C4::Output; use C4::Serials; my $query = new CGI; -my $dbh = C4::Context->dbh; +my $dbh = C4::Context->dbh; -my $op = $query->param('op'); +my $mode = $query->param('mode'); +my $op = $query->param('op') || q{}; 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.tmpl", + query => $query, + type => "intranet", + authnotrequired => 0, + flagsrequired => { serials => 'renew_subscription' }, + debug => 1, + } +); +if ( $op eq "renew" ) { + ReNewSubscription( + $subscriptionid, $loggedinuser, + C4::Dates->new($query->param('startdate'))->output('iso'), $query->param('numberlength'), + $query->param('weeklength'), $query->param('monthlength'), + $query->param('note') + ); } -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 $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"); +} + +$template->param( + startdate => format_date( + $subscription->{enddate} + || POSIX::strftime( "%Y-%m-%d", localtime ) + ), + numberlength => $subscription->{numberlength}, + weeklength => $subscription->{weeklength}, + monthlength => $subscription->{monthlength}, + subscriptionid => $subscriptionid, + bibliotitle => $subscription->{bibliotitle}, + $op => 1, + popup => ($query->param('mode')eq "popup"), +); # Print the page output_html_with_http_headers $query, $cookie, $template->output; - -# Local Variables: -# tab-width: 4 -# End: