View | Details | Raw Unified | Return to bug 12671
Collapse All | Expand All

(-)a/C4/Serials.pm (-2 / +4 lines)
Lines 2540-2546 sub _get_next_date_month { Link Here
2540
        $day = $fa_day <= $days_in_month ? $fa_day : $days_in_month;
2540
        $day = $fa_day <= $days_in_month ? $fa_day : $days_in_month;
2541
    } else {
2541
    } else {
2542
        # Try to guess the next day in month
2542
        # Try to guess the next day in month
2543
        my $delta_days = int((28 - ($fa_day - 1)) / $freqdata->{issuesperunit});
2543
        my $days_in_month = Days_in_Month($year, $month);
2544
        my $delta_days = int(($days_in_month - ($fa_day - 1)) / $freqdata->{issuesperunit});
2544
        ($year,$month,$day) = Add_Delta_Days($year, $month, $day, $delta_days);
2545
        ($year,$month,$day) = Add_Delta_Days($year, $month, $day, $delta_days);
2545
        $subscription->{countissuesperunit}++;
2546
        $subscription->{countissuesperunit}++;
2546
    }
2547
    }
Lines 2561-2567 sub _get_next_date_year { Link Here
2561
        $day = $fa_day <= $days_in_month ? $fa_day : $days_in_month;
2562
        $day = $fa_day <= $days_in_month ? $fa_day : $days_in_month;
2562
    } else {
2563
    } else {
2563
        # Try to guess the next day in year
2564
        # Try to guess the next day in year
2564
        my $delta_days = int((365 - ($fa_day - 1)) / $freqdata->{issuesperunit});
2565
        my $days_in_year = Days_in_Year($year,12); #Sum the days of all the months of this year
2566
        my $delta_days = int(($days_in_year - ($fa_day - 1)) / $freqdata->{issuesperunit});
2565
        ($year,$month,$day) = Add_Delta_Days($year, $month, $day, $delta_days);
2567
        ($year,$month,$day) = Add_Delta_Days($year, $month, $day, $delta_days);
2566
        $subscription->{countissuesperunit}++;
2568
        $subscription->{countissuesperunit}++;
2567
    }
2569
    }
(-)a/t/db_dependent/Serials/GetNextDate.t (-6 / +5 lines)
Lines 371-381 $subscription = { Link Here
371
};
371
};
372
$publisheddate = $subscription->{firstacquidate};
372
$publisheddate = $subscription->{firstacquidate};
373
$publisheddate = GetNextDate($subscription, $publisheddate);
373
$publisheddate = GetNextDate($subscription, $publisheddate);
374
is($publisheddate, '1970-01-15');
374
is($publisheddate, '1970-01-16', 'January has 31 days');
375
$publisheddate = GetNextDate($subscription, $publisheddate);
375
$publisheddate = GetNextDate($subscription, $publisheddate);
376
is($publisheddate, '1970-02-01');
376
is($publisheddate, '1970-02-01');
377
$publisheddate = GetNextDate($subscription, $publisheddate);
377
$publisheddate = GetNextDate($subscription, $publisheddate);
378
is($publisheddate, '1970-02-15');
378
is($publisheddate, '1970-02-15', 'February has only 28 days');
379
$publisheddate = GetNextDate($subscription, $publisheddate);
379
$publisheddate = GetNextDate($subscription, $publisheddate);
380
is($publisheddate, '1970-03-01');
380
is($publisheddate, '1970-03-01');
381
381
Lines 388-400 $subscription = { Link Here
388
};
388
};
389
$publisheddate = $subscription->{firstacquidate};
389
$publisheddate = $subscription->{firstacquidate};
390
$publisheddate = GetNextDate($subscription, $publisheddate);
390
$publisheddate = GetNextDate($subscription, $publisheddate);
391
is($publisheddate, '1970-01-15');
391
is($publisheddate, '1970-01-16', 'January has 31 days');
392
$publisheddate = GetNextDate($subscription, $publisheddate);
392
$publisheddate = GetNextDate($subscription, $publisheddate);
393
is($publisheddate, '1970-02-15');
393
is($publisheddate, '1970-02-15', 'February has only 28 days');
394
$publisheddate = GetNextDate($subscription, $publisheddate);
394
$publisheddate = GetNextDate($subscription, $publisheddate);
395
is($publisheddate, '1970-04-01');
395
is($publisheddate, '1970-04-01');
396
$publisheddate = GetNextDate($subscription, $publisheddate);
396
$publisheddate = GetNextDate($subscription, $publisheddate);
397
is($publisheddate, '1970-04-15');
397
is($publisheddate, '1970-04-16', 'April has 30 days');
398
$publisheddate = GetNextDate($subscription, $publisheddate);
398
$publisheddate = GetNextDate($subscription, $publisheddate);
399
is($publisheddate, '1970-05-01');
399
is($publisheddate, '1970-05-01');
400
400
401
- 

Return to bug 12671