Lines 859-866
sub GetNextSeq {
Link Here
|
859 |
} |
859 |
} |
860 |
} |
860 |
} |
861 |
|
861 |
|
862 |
my $numberingmethod = $pattern->{numberingmethod}; |
|
|
863 |
my $calculated = ""; |
862 |
my $calculated = ""; |
|
|
863 |
my $numberingmethod = ""; |
864 |
if ($pattern eq "pubdate"){ |
865 |
$calculated = dt_from_string( $planneddate )->strftime( '%Y %B %d' ); |
866 |
} else { |
867 |
$numberingmethod = $pattern->{numberingmethod}; |
868 |
} |
864 |
if ($numberingmethod) { |
869 |
if ($numberingmethod) { |
865 |
$calculated = $numberingmethod; |
870 |
$calculated = $numberingmethod; |
866 |
my $locale = $subscription->{locale}; |
871 |
my $locale = $subscription->{locale}; |
Lines 940-945
the sequence in string format
Link Here
|
940 |
sub GetSeq { |
945 |
sub GetSeq { |
941 |
my ($subscription, $pattern) = @_; |
946 |
my ($subscription, $pattern) = @_; |
942 |
|
947 |
|
|
|
948 |
if ($pattern->{numberingmethod} eq ''){ |
949 |
return "pubdate"; |
950 |
} |
951 |
|
943 |
return unless ($subscription and $pattern); |
952 |
return unless ($subscription and $pattern); |
944 |
|
953 |
|
945 |
my $locale = $subscription->{locale}; |
954 |
my $locale = $subscription->{locale}; |
Lines 1147-1152
sub ModSerialStatus {
Link Here
|
1147 |
my $pattern = C4::Serials::Numberpattern::GetSubscriptionNumberpattern($subscription->{numberpattern}); |
1156 |
my $pattern = C4::Serials::Numberpattern::GetSubscriptionNumberpattern($subscription->{numberpattern}); |
1148 |
my $frequency = C4::Serials::Frequency::GetSubscriptionFrequency($subscription->{periodicity}); |
1157 |
my $frequency = C4::Serials::Frequency::GetSubscriptionFrequency($subscription->{periodicity}); |
1149 |
|
1158 |
|
|
|
1159 |
my $nextpublisheddate = GetNextDate($subscription, $publisheddate, 1); |
1160 |
my ( $newserialseq, $newlastvalue1, $newlastvalue2, $newlastvalue3, |
1161 |
$newinnerloop1, $newinnerloop2, $newinnerloop3 ); |
1162 |
|
1163 |
if (!defined $pattern){ |
1164 |
$pattern = "pubdate"; |
1165 |
( $newserialseq, $newlastvalue1, $newlastvalue2, $newlastvalue3, |
1166 |
$newinnerloop1, $newinnerloop2, $newinnerloop3 ) = GetNextSeq( $subscription, $pattern, $nextpublisheddate ); |
1167 |
} else { |
1168 |
( $newserialseq, $newlastvalue1, $newlastvalue2, $newlastvalue3, |
1169 |
$newinnerloop1, $newinnerloop2, $newinnerloop3 ) = GetNextSeq( $subscription, $pattern, $publisheddate ); |
1170 |
} |
1171 |
|
1150 |
# next issue number |
1172 |
# next issue number |
1151 |
my ( |
1173 |
my ( |
1152 |
$newserialseq, $newlastvalue1, $newlastvalue2, $newlastvalue3, |
1174 |
$newserialseq, $newlastvalue1, $newlastvalue2, $newlastvalue3, |
Lines 1155-1161
sub ModSerialStatus {
Link Here
|
1155 |
= GetNextSeq( $subscription, $pattern, $frequency, $publisheddate ); |
1177 |
= GetNextSeq( $subscription, $pattern, $frequency, $publisheddate ); |
1156 |
|
1178 |
|
1157 |
# next date (calculated from actual date & frequency parameters) |
1179 |
# next date (calculated from actual date & frequency parameters) |
1158 |
my $nextpublisheddate = GetNextDate($subscription, $publisheddate, $frequency, 1); |
|
|
1159 |
my $nextpubdate = $nextpublisheddate; |
1180 |
my $nextpubdate = $nextpublisheddate; |
1160 |
$query = "UPDATE subscription SET lastvalue1=?, lastvalue2=?, lastvalue3=?, innerloop1=?, innerloop2=?, innerloop3=? |
1181 |
$query = "UPDATE subscription SET lastvalue1=?, lastvalue2=?, lastvalue3=?, innerloop1=?, innerloop2=?, innerloop3=? |
1161 |
WHERE subscriptionid = ?"; |
1182 |
WHERE subscriptionid = ?"; |
Lines 1437-1442
sub NewSubscription {
Link Here
|
1437 |
# calculate issue number |
1458 |
# calculate issue number |
1438 |
my $serialseq = GetSeq($subscription, $pattern) || q{}; |
1459 |
my $serialseq = GetSeq($subscription, $pattern) || q{}; |
1439 |
|
1460 |
|
|
|
1461 |
if ($serialseq eq "pubdate"){ |
1462 |
$serialseq = dt_from_string( $firstacquidate )->strftime('%Y %B %d'); |
1463 |
} |
1464 |
|
1440 |
Koha::Serial->new( |
1465 |
Koha::Serial->new( |
1441 |
{ |
1466 |
{ |
1442 |
serialseq => $serialseq, |
1467 |
serialseq => $serialseq, |