Bug 30952: Fix the 'keep_text' feature of the search bar
[koha-ffzg.git] / serials / subscription-renew.pl
index 1e6f85b..5da1536 100755 (executable)
@@ -46,31 +46,33 @@ Id of the subscription this script has to renew
 use Modern::Perl;
 
 use CGI qw ( -utf8 );
-use Carp;
+use Carp qw( carp );
 use C4::Koha;
-use C4::Auth;
+use C4::Auth qw( get_template_and_user );
 use C4::Context;
-use C4::Auth;
-use C4::Output;
-use C4::Serials;
-use Koha::DateUtils;
+use C4::Auth qw( get_template_and_user );
+use C4::Output qw( output_and_exit output_html_with_http_headers );
+use C4::Serials qw( GetSubscription GetSubscriptionLength NewSubscription ReNewSubscription );
+use Koha::DateUtils qw( dt_from_string output_pref );
 
-my $query = new CGI;
+my $query = CGI->new;
 my $dbh   = C4::Context->dbh;
 
 my $mode           = $query->param('mode') || q{};
 my $op             = $query->param('op') || 'display';
 my @subscriptionids = $query->multi_param('subscriptionid');
 my $branchcode     = $query->param('branchcode');
+my $sublength = $query->param('sublength');
+my $subtype = $query->param('subtype');
+my ($numberlength, $weeklength, $monthlength);
+
 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" ) {
@@ -80,20 +82,32 @@ if ( $op eq "renew" ) {
     my $subscription = GetSubscription( $subscriptionid );
     output_and_exit( $query, $cookie, $template, 'unknown_subscription') unless $subscription;
     my $startdate = output_pref( { str => scalar $query->param('startdate'), dateonly => 1, dateformat => 'iso' } );
+    ($numberlength, $weeklength, $monthlength) = GetSubscriptionLength( $subtype, $sublength );
     ReNewSubscription(
-        $subscriptionid, $loggedinuser,
-        $startdate, scalar $query->param('numberlength'),
-        scalar $query->param('weeklength'), scalar $query->param('monthlength'),
-        scalar $query->param('note'), $branchcode
+        {
+            subscriptionid => $subscriptionid,
+            user           => $loggedinuser,
+            startdate      => $startdate,
+            numberlength   => $numberlength,
+            weeklength     => $weeklength,
+            monthlength    => $monthlength,
+            note           => scalar $query->param('note'),
+            branchcode     => $branchcode
+        }
     );
 } elsif ( $op eq 'multi_renew' ) {
     for my $subscriptionid ( @subscriptionids ) {
         my $subscription = GetSubscription( $subscriptionid );
         next unless $subscription;
         ReNewSubscription(
-            $subscriptionid, $loggedinuser,
-            $subscription->{enddate}, $subscription->{numberlength},
-            $subscription->{weeklength}, $subscription->{monthlength},
+            {
+                subscriptionid => $subscriptionid,
+                user           => $loggedinuser,
+                startdate      => $subscription->{enddate},
+                numberlength   => $subscription->{numberlength},
+                weeklength     => $subscription->{weeklength},
+                monthlength    => $subscription->{monthlength},
+            }
         );
     }
 } else {
@@ -114,11 +128,8 @@ if ( $op eq "renew" ) {
     );
 }
 
-my $libraries = Koha::Libraries->search( {}, { order_by => ['branchcode'] }, );
-
 $template->param(
     op => $op,
-    libraries      => $libraries,
 );
 
 output_html_with_http_headers $query, $cookie, $template->output;