+ my $callnumber = $query->param('callnumber');
+ my $notes = $query->param('notes');
+ my $internalnotes = $query->param('internalnotes');
+ my $hemisphere = $query->param('hemisphere') || 1;
+ my $letter = $query->param('letter');
+ # ## BugFIX : hdl doesnot know what innerloops or letter stand for but it seems necessary. So he adds them.
+ my $manualhistory = $query->param('manualhist');
+ my $subscriptionid = NewSubscription($auser,$branchcode,$aqbooksellerid,$cost,$aqbudgetid,$biblionumber,
+ $startdate,$periodicity,$dow,$numberlength,$weeklength,$monthlength,
+ $add1,$every1,$whenmorethan1,$setto1,$lastvalue1,$innerloop1,
+ $add2,$every2,$whenmorethan2,$setto2,$lastvalue2,$innerloop2,
+ $add3,$every3,$whenmorethan3,$setto3,$lastvalue3,$innerloop3,
+ $numberingmethod, $status, $notes,$letter,$firstacquidate,join(",",@irregularity),
+ $numberpattern, $callnumber, $hemisphere,($manualhistory?$manualhistory:0),$internalnotes
+ );
+
+ print $query->redirect("/cgi-bin/koha/serials/subscription-detail.pl?subscriptionid=$subscriptionid");
+} elsif ($op eq 'modsubscription') {
+ my $subscriptionid = $query->param('subscriptionid');
+ my @irregular = $query->param('irregular');
+ my $irregular_count = @irregular;
+ for(my $i =0;$i<$irregular_count;$i++){
+ $irregularity .=$irregular[$i].",";
+ warn "irregular : $irregular[$i] string :$irregularity";
+ }
+ $irregularity =~ s/\,$//;
+
+ my $auser = $query->param('user');
+ my $librarian => $query->param('librarian'),
+ my $branchcode = $query->param('branchcode');
+ my $cost = $query->param('cost');
+ my $aqbooksellerid = $query->param('aqbooksellerid');
+ my $biblionumber = $query->param('biblionumber');
+ my $aqbudgetid = $query->param('aqbudgetid');
+ my $startdate = format_date_in_iso($query->param('startdate'));
+ my $firstacquidate = format_date_in_iso($query->param('firstacquidate'));
+ my $periodicity = $query->param('periodicity');
+ my $dow = $query->param('dow');
+ my $sublength = $query->param('sublength');
+ my $subtype = $query->param('subtype');
+
+ if($subtype eq 'months'){
+ $monthlength = $sublength;
+ } elsif ($subtype eq 'weeks'){
+ $weeklength = $sublength;
+ } else {
+ $numberlength = $sublength;
+ }
+ my $numberpattern = $query->param('numbering_pattern');
+ my $add1 = $query->param('add1');
+ my $every1 = $query->param('every1');
+ my $whenmorethan1 = $query->param('whenmorethan1');
+ my $setto1 = $query->param('setto1');
+ my $lastvalue1 = $query->param('lastvalue1');
+ my $innerloop1 = $query->param('innerloop1');
+ my $add2 = $query->param('add2');
+ my $every2 = $query->param('every2');
+ my $whenmorethan2 = $query->param('whenmorethan2');
+ my $setto2 = $query->param('setto2');
+ my $lastvalue2 = $query->param('lastvalue2');
+ my $innerloop2 = $query->param('innerloop2');
+ my $add3 = $query->param('add3');
+ my $every3 = $query->param('every3');
+ my $whenmorethan3 = $query->param('whenmorethan3');
+ my $setto3 = $query->param('setto3');
+ my $lastvalue3 = $query->param('lastvalue3');
+ my $innerloop3 = $query->param('innerloop3');
+ my $numberingmethod = $query->param('numberingmethod');
+ my $status = 1;
+ my $callnumber = $query->param('callnumber');