|
Lines 1023-1029
sub GetExpirationDate {
Link Here
|
| 1023 |
# we don't do the same test if the subscription is based on X numbers or on X weeks/months |
1023 |
# we don't do the same test if the subscription is based on X numbers or on X weeks/months |
| 1024 |
$enddate = $startdate || $subscription->{startdate}; |
1024 |
$enddate = $startdate || $subscription->{startdate}; |
| 1025 |
my @date = split( /-/, $enddate ); |
1025 |
my @date = split( /-/, $enddate ); |
|
|
1026 |
|
| 1026 |
return if ( scalar(@date) != 3 || not check_date(@date) ); |
1027 |
return if ( scalar(@date) != 3 || not check_date(@date) ); |
|
|
1028 |
|
| 1027 |
my $frequency = C4::Serials::Frequency::GetSubscriptionFrequency($subscription->{periodicity}); |
1029 |
my $frequency = C4::Serials::Frequency::GetSubscriptionFrequency($subscription->{periodicity}); |
| 1028 |
if ( $frequency and $frequency->{unit} ) { |
1030 |
if ( $frequency and $frequency->{unit} ) { |
| 1029 |
|
1031 |
|
|
Lines 2319-2336
sub abouttoexpire {
Link Here
|
| 2319 |
my $per = $subscription->{'periodicity'}; |
2321 |
my $per = $subscription->{'periodicity'}; |
| 2320 |
my $frequency = C4::Serials::Frequency::GetSubscriptionFrequency($per); |
2322 |
my $frequency = C4::Serials::Frequency::GetSubscriptionFrequency($per); |
| 2321 |
if ($frequency and $frequency->{unit}){ |
2323 |
if ($frequency and $frequency->{unit}){ |
|
|
2324 |
|
| 2322 |
my $expirationdate = GetExpirationDate($subscriptionid); |
2325 |
my $expirationdate = GetExpirationDate($subscriptionid); |
|
|
2326 |
|
| 2323 |
my ($res) = $dbh->selectrow_array('select max(planneddate) from serial where subscriptionid = ?', undef, $subscriptionid); |
2327 |
my ($res) = $dbh->selectrow_array('select max(planneddate) from serial where subscriptionid = ?', undef, $subscriptionid); |
| 2324 |
my $nextdate = GetNextDate($subscription, $res); |
2328 |
my $nextdate = GetNextDate($subscription, $res); |
| 2325 |
if(Date::Calc::Delta_Days( |
2329 |
|
| 2326 |
split( /-/, $nextdate ), |
2330 |
# only compare dates if both dates exist. |
| 2327 |
split( /-/, $expirationdate ) |
2331 |
if ($nextdate and $expirationdate) { |
| 2328 |
) <= 0) { |
2332 |
if(Date::Calc::Delta_Days( |
| 2329 |
return 1; |
2333 |
split( /-/, $nextdate ), |
|
|
2334 |
split( /-/, $expirationdate ) |
| 2335 |
) <= 0) { |
| 2336 |
return 1; |
| 2337 |
} |
| 2330 |
} |
2338 |
} |
|
|
2339 |
|
| 2331 |
} elsif ($subscription->{numberlength}>0) { |
2340 |
} elsif ($subscription->{numberlength}>0) { |
| 2332 |
return (countissuesfrom($subscriptionid,$subscription->{'startdate'}) >=$subscription->{numberlength}-1); |
2341 |
return (countissuesfrom($subscriptionid,$subscription->{'startdate'}) >=$subscription->{numberlength}-1); |
| 2333 |
} |
2342 |
} |
|
|
2343 |
|
| 2334 |
return 0; |
2344 |
return 0; |
| 2335 |
} |
2345 |
} |
| 2336 |
|
2346 |
|
| 2337 |
- |
|
|