Bug 7688: (follow-up) set firstacquidate in updatedatabase if it's not set
firstacquidate is now a mandatory field, so it must be set. The updatedatabase process set firstacquidate value to one of: - the planned date of the first serial for this subscription, or if not found, - the subscription start date. + auto-select the numbering pattern when modifying a subscription. Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com> Signed-off-by: Galen Charlton <gmc@esilibrary.com>
This commit is contained in:
parent
48b0472a63
commit
e1593c898f
2 changed files with 33 additions and 1 deletions
|
@ -7547,6 +7547,38 @@ if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
|
|||
ADD CONSTRAINT subscription_ibfk_2 FOREIGN KEY (numberpattern) REFERENCES subscription_numberpatterns (id) ON DELETE SET NULL ON UPDATE CASCADE
|
||||
|);
|
||||
|
||||
# Set firstacquidate if not already set (firstacquidate is now mandatory)
|
||||
my $get_first_planneddate_sth = $dbh->prepare(qq|
|
||||
SELECT planneddate
|
||||
FROM serial
|
||||
WHERE subscriptionid = ?
|
||||
ORDER BY serialid
|
||||
LIMIT 1
|
||||
|);
|
||||
my $update_firstacquidate_sth = $dbh->prepare(qq|
|
||||
UPDATE subscription
|
||||
SET firstacquidate = ?
|
||||
WHERE subscriptionid = ?
|
||||
|);
|
||||
my $get_subscriptions_sth = $dbh->prepare(qq|
|
||||
SELECT subscriptionid, startdate
|
||||
FROM subscription
|
||||
WHERE firstacquidate IS NULL
|
||||
OR firstacquidate = '0000-00-00'
|
||||
|);
|
||||
$get_subscriptions_sth->execute;
|
||||
while ( my ($subscriptionid, $startdate) = $get_subscriptions_sth->fetchrow ) {
|
||||
# Try to get the planned date of the first serial
|
||||
$get_first_planneddate_sth->execute($subscriptionid);
|
||||
my ($first_planneddate) = $get_first_planneddate_sth->fetchrow;
|
||||
if ($first_planneddate and $first_planneddate =~ /^\d{4}-\d{2}-\d{2}$/) {
|
||||
$update_firstacquidate_sth->execute($first_planneddate, $subscriptionid);
|
||||
} else {
|
||||
# Defaults to subscription start date
|
||||
$update_firstacquidate_sth->execute($startdate, $subscriptionid);
|
||||
}
|
||||
}
|
||||
|
||||
print "Upgrade to $DBversion done (Add subscription_frequencies and subscription_numberpatterns tables)\n";
|
||||
SetVersion($DBversion);
|
||||
}
|
||||
|
|
|
@ -693,7 +693,7 @@ $(document).ready(function() {
|
|||
<option value="">-- please choose --</option>
|
||||
[% FOREACH numberpattern IN numberpatterns %]
|
||||
[% IF (numberpattern.selected) %]
|
||||
<option value="[% numberpattern.id %]">
|
||||
<option value="[% numberpattern.id %]" selected="selected">
|
||||
[% ELSE %]
|
||||
<option value="[% numberpattern.id %]">
|
||||
[% END %]
|
||||
|
|
Loading…
Reference in a new issue