Lines 870-877
sub GetNextSeq {
Link Here
|
870 |
} |
870 |
} |
871 |
} |
871 |
} |
872 |
|
872 |
|
873 |
my $numberingmethod = $pattern->{numberingmethod}; |
|
|
874 |
my $calculated = ""; |
873 |
my $calculated = ""; |
|
|
874 |
my $numberingmethod = ""; |
875 |
if ($pattern eq "pubdate"){ |
876 |
$calculated = dt_from_string( $planneddate )->strftime( '%Y %B %d' ); |
877 |
} else { |
878 |
$numberingmethod = $pattern->{numberingmethod}; |
879 |
} |
875 |
if ($numberingmethod) { |
880 |
if ($numberingmethod) { |
876 |
$calculated = $numberingmethod; |
881 |
$calculated = $numberingmethod; |
877 |
my $locale = $subscription->{locale}; |
882 |
my $locale = $subscription->{locale}; |
Lines 951-956
the sequence in string format
Link Here
|
951 |
sub GetSeq { |
956 |
sub GetSeq { |
952 |
my ($subscription, $pattern) = @_; |
957 |
my ($subscription, $pattern) = @_; |
953 |
|
958 |
|
|
|
959 |
if ($pattern->{numberingmethod} eq ''){ |
960 |
return "pubdate"; |
961 |
} |
962 |
|
954 |
return unless ($subscription and $pattern); |
963 |
return unless ($subscription and $pattern); |
955 |
|
964 |
|
956 |
my $locale = $subscription->{locale}; |
965 |
my $locale = $subscription->{locale}; |
Lines 1159-1164
sub ModSerialStatus {
Link Here
|
1159 |
my $pattern = C4::Serials::Numberpattern::GetSubscriptionNumberpattern($subscription->{numberpattern}); |
1168 |
my $pattern = C4::Serials::Numberpattern::GetSubscriptionNumberpattern($subscription->{numberpattern}); |
1160 |
my $frequency = C4::Serials::Frequency::GetSubscriptionFrequency($subscription->{periodicity}); |
1169 |
my $frequency = C4::Serials::Frequency::GetSubscriptionFrequency($subscription->{periodicity}); |
1161 |
|
1170 |
|
|
|
1171 |
my $nextpublisheddate = GetNextDate($subscription, $publisheddate, 1); |
1172 |
my ( $newserialseq, $newlastvalue1, $newlastvalue2, $newlastvalue3, |
1173 |
$newinnerloop1, $newinnerloop2, $newinnerloop3 ); |
1174 |
|
1175 |
if (!defined $pattern){ |
1176 |
$pattern = "pubdate"; |
1177 |
( $newserialseq, $newlastvalue1, $newlastvalue2, $newlastvalue3, |
1178 |
$newinnerloop1, $newinnerloop2, $newinnerloop3 ) = GetNextSeq( $subscription, $pattern, $nextpublisheddate ); |
1179 |
} else { |
1180 |
( $newserialseq, $newlastvalue1, $newlastvalue2, $newlastvalue3, |
1181 |
$newinnerloop1, $newinnerloop2, $newinnerloop3 ) = GetNextSeq( $subscription, $pattern, $publisheddate ); |
1182 |
} |
1183 |
|
1162 |
# next issue number |
1184 |
# next issue number |
1163 |
my ( |
1185 |
my ( |
1164 |
$newserialseq, $newlastvalue1, $newlastvalue2, $newlastvalue3, |
1186 |
$newserialseq, $newlastvalue1, $newlastvalue2, $newlastvalue3, |
Lines 1167-1173
sub ModSerialStatus {
Link Here
|
1167 |
= GetNextSeq( $subscription, $pattern, $frequency, $publisheddate ); |
1189 |
= GetNextSeq( $subscription, $pattern, $frequency, $publisheddate ); |
1168 |
|
1190 |
|
1169 |
# next date (calculated from actual date & frequency parameters) |
1191 |
# next date (calculated from actual date & frequency parameters) |
1170 |
my $nextpublisheddate = GetNextDate($subscription, $publisheddate, $frequency, 1); |
|
|
1171 |
my $nextpubdate = $nextpublisheddate; |
1192 |
my $nextpubdate = $nextpublisheddate; |
1172 |
$query = "UPDATE subscription SET lastvalue1=?, lastvalue2=?, lastvalue3=?, innerloop1=?, innerloop2=?, innerloop3=? |
1193 |
$query = "UPDATE subscription SET lastvalue1=?, lastvalue2=?, lastvalue3=?, innerloop1=?, innerloop2=?, innerloop3=? |
1173 |
WHERE subscriptionid = ?"; |
1194 |
WHERE subscriptionid = ?"; |
Lines 1433-1438
sub NewSubscription {
Link Here
|
1433 |
# calculate issue number |
1454 |
# calculate issue number |
1434 |
my $serialseq = GetSeq($subscription, $pattern) || q{}; |
1455 |
my $serialseq = GetSeq($subscription, $pattern) || q{}; |
1435 |
|
1456 |
|
|
|
1457 |
if ($serialseq eq "pubdate"){ |
1458 |
$serialseq = dt_from_string( $firstacquidate )->strftime('%Y %B %d'); |
1459 |
} |
1460 |
|
1436 |
Koha::Serial->new( |
1461 |
Koha::Serial->new( |
1437 |
{ |
1462 |
{ |
1438 |
serialseq => $serialseq, |
1463 |
serialseq => $serialseq, |