=head2 ReNewSubscription
-ReNewSubscription($subscriptionid,$user,$startdate,$numberlength,$weeklength,$monthlength,$note)
+ReNewSubscription($params);
+
+$params is a hashref with the following keys: subscriptionid, user, startdate, numberlength, weeklength, monthlength, note, branchcode
this function renew a subscription with values given on input args.
=cut
sub ReNewSubscription {
- my ( $subscriptionid, $user, $startdate, $numberlength, $weeklength, $monthlength, $note, $branchcode ) = @_;
- warn $note;
+ my ( $params ) = @_;
+ my $subscriptionid = $params->{subscriptionid};
+ my $user = $params->{user};
+ my $startdate = $params->{startdate};
+ my $numberlength = $params->{numberlength};
+ my $weeklength = $params->{weeklength};
+ my $monthlength = $params->{monthlength};
+ my $note = $params->{note};
+ my $branchcode = $params->{branchcode};
+
my $dbh = C4::Context->dbh;
my $subscription = GetSubscription($subscriptionid);
my $query = qq|
output_and_exit( $query, $cookie, $template, 'unknown_subscription') unless $subscription;
my $startdate = output_pref( { str => scalar $query->param('startdate'), dateonly => 1, dateformat => 'iso' } );
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 => scalar $query->param('numberlength'),
+ weeklength => scalar $query->param('weeklength'),
+ monthlength => scalar $query->param('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 {
# Actual testing starts here!
# Renew the subscription and check that enddate has not been set
-ReNewSubscription($subscription->{subscriptionid},'',"2016-01-01",'','',12,'');
+ReNewSubscription(
+ {
+ subscriptionid => $subscription->{subscriptionid},
+ startdate => "2016-01-01",
+ monthlength => 12
+ }
+);
my $history = Koha::Subscription::Histories->find($subscription->{subscriptionid});
is ( $history->histenddate(), undef, 'subscription history not empty after renewal');