@@ -, +, @@ date --- .../prog/en/modules/serials/subscription-numberpatterns.tt | 3 +-- koha-tmpl/intranet-tmpl/prog/js/subscription-add.js | 5 ++--- serials/showpredictionpattern.pl | 8 +++++--- 3 files changed, 8 insertions(+), 8 deletions(-) --- a/koha-tmpl/intranet-tmpl/prog/en/modules/serials/subscription-numberpatterns.tt +++ a/koha-tmpl/intranet-tmpl/prog/en/modules/serials/subscription-numberpatterns.tt @@ -342,7 +342,7 @@ 'lastvalue1', 'lastvalue2', 'lastvalue3', 'add1', 'add2', 'add3', 'every1', 'every2', 'every3', 'innerloop1', 'innerloop2', 'innerloop3', 'setto1', 'setto2', 'setto3', 'numbering1', 'numbering2', 'numbering3', - 'whenmorethan1', 'whenmorethan2', 'whenmorethan3', 'locale' + 'whenmorethan1', 'whenmorethan2', 'whenmorethan3', 'locale', 'from' ]; for(i in ajaxParams) { var param = ajaxParams[i]; @@ -350,7 +350,6 @@ if(value.length > 0) ajaxData[param] = value; } - $.ajax({ url: "/cgi-bin/koha/serials/showpredictionpattern.pl", data: ajaxData, --- a/koha-tmpl/intranet-tmpl/prog/js/subscription-add.js +++ a/koha-tmpl/intranet-tmpl/prog/js/subscription-add.js @@ -275,7 +275,7 @@ function testPredictionPattern() { 'lastvalue1', 'lastvalue2', 'lastvalue3', 'add1', 'add2', 'add3', 'every1', 'every2', 'every3', 'innerloop1', 'innerloop2', 'innerloop3', 'setto1', 'setto2', 'setto3', 'numbering1', 'numbering2', 'numbering3', - 'whenmorethan1', 'whenmorethan2', 'whenmorethan3', 'locale' + 'whenmorethan1', 'whenmorethan2', 'whenmorethan3', 'locale', 'from' ]; for(i in ajaxParams) { var param = ajaxParams[i]; @@ -283,7 +283,6 @@ function testPredictionPattern() { if(value.length > 0) ajaxData[param] = value; } - $.ajax({ url:"/cgi-bin/koha/serials/showpredictionpattern.pl", data: ajaxData, @@ -496,4 +495,4 @@ $(document).ready(function() { e.preventDefault(); testPredictionPattern(); }); -}); +}); --- a/serials/showpredictionpattern.pl +++ a/serials/showpredictionpattern.pl @@ -52,6 +52,7 @@ my $frequencyid = $input->param('frequency'); my $firstacquidate = $input->param('firstacquidate'); my $nextacquidate = $input->param('nextacquidate'); my $enddate = $input->param('enddate'); +my $startdate = $input->param('from'); my $subtype = $input->param('subtype'); my $sublength = $input->param('sublength'); my $custompattern = $input->param('custompattern'); @@ -79,6 +80,8 @@ my %pattern = ( $firstacquidate = eval { output_pref( { str => $firstacquidate, dateonly => 1, dateformat => 'iso' } ); } or output_pref( { dt => dt_from_string, dateonly => 1, dateformat => 'iso' } ); +$startdate = eval { output_pref( { str => $firstacquidate, dateonly => 1, dateformat => 'iso' } ); } + or output_pref( { dt => dt_from_string, dateonly => 1, dateformat => 'iso' } ); $enddate = eval { output_pref( { str => $enddate, dateonly => 1, dateformat => 'iso' } ); }; @@ -141,14 +144,13 @@ while( $i < 1000 ) { $line{'publicationdate'} = $date; $line{'dow'} = Day_of_Week(split /-/, $date); } - # Check if we don't have exceed end date if($sublength){ if($subtype eq "issues" && $i >= $sublength){ last; - } elsif($subtype eq "weeks" && $date && Delta_Days( split(/-/, $date), Add_Delta_Days( split(/-/, $firstacquidate), 7*$sublength - 1 ) ) < 0) { + } elsif($subtype eq "weeks" && $date && Delta_Days( split(/-/, $date), Add_Delta_Days( split(/-/, $startdate), 7*$sublength - 1 ) ) < 0) { last; - } elsif($subtype eq "months" && $date && (Delta_Days( split(/-/, $date), Add_Delta_YM( split(/-/, $firstacquidate), 0, $sublength) ) - 1) < 0 ) { + } elsif($subtype eq "months" && $date && (Delta_Days( split(/-/, $date), Add_Delta_YM( split(/-/, $startdate), 0, $sublength) ) - 1) < 0 ) { last; } } --