@@ -, +, @@
---
C4/Serials.pm | 16 +++---
installer/data/mysql/kohastructure.sql | 1 +
installer/data/mysql/updatedatabase.pl | 7 +++
.../prog/en/modules/serials/subscription-add.tt | 17 ++++++
.../prog/en/modules/serials/subscription-detail.tt | 52 ++++++++++++++++++++
serials/subscription-add.pl | 24 +++++----
serials/subscription-detail.pl | 1 +
7 files changed, 101 insertions(+), 17 deletions(-)
--- a/C4/Serials.pm
+++ a/C4/Serials.pm
@@ -1156,7 +1156,8 @@ sub ModSubscription {
$whenmorethan1, $setto1, $lastvalue1, $innerloop1, $add2, $every2, $whenmorethan2, $setto2,
$lastvalue2, $innerloop2, $add3, $every3, $whenmorethan3, $setto3, $lastvalue3, $innerloop3,
$numberingmethod, $status, $biblionumber, $callnumber, $notes, $letter, $hemisphere, $manualhistory,
- $internalnotes, $serialsadditems, $staffdisplaycount, $opacdisplaycount, $graceperiod, $location, $enddate, $subscriptionid
+ $internalnotes, $serialsadditems, $staffdisplaycount, $opacdisplaycount, $graceperiod, $location, $enddate, $subscriptionid,
+ $seriallifespan
) = @_;
# warn $irregularity;
@@ -1170,7 +1171,7 @@ sub ModSubscription {
numberingmethod=?, status=?, biblionumber=?, callnumber=?, notes=?,
letter=?, hemisphere=?,manualhistory=?,internalnotes=?,serialsadditems=?,
staffdisplaycount = ?,opacdisplaycount = ?, graceperiod = ?, location = ?
- ,enddate=?
+ ,enddate=?, seriallifespan=?
WHERE subscriptionid = ?";
#warn "query :".$query;
@@ -1187,7 +1188,7 @@ sub ModSubscription {
$numberingmethod, $status, $biblionumber, $callnumber,
$notes, $letter, $hemisphere, ( $manualhistory ? $manualhistory : 0 ),
$internalnotes, $serialsadditems, $staffdisplaycount, $opacdisplaycount,
- $graceperiod, $location, $enddate, $subscriptionid
+ $graceperiod, $location, $enddate, $seriallifespan, $subscriptionid
);
my $rows = $sth->rows;
@@ -1213,12 +1214,13 @@ the id of this new subscription
=cut
sub NewSubscription {
+
my ($auser, $branchcode, $aqbooksellerid, $cost, $aqbudgetid, $biblionumber, $startdate, $periodicity,
$dow, $numberlength, $weeklength, $monthlength, $add1, $every1, $whenmorethan1, $setto1,
$lastvalue1, $innerloop1, $add2, $every2, $whenmorethan2, $setto2, $lastvalue2, $innerloop2,
$add3, $every3, $whenmorethan3, $setto3, $lastvalue3, $innerloop3, $numberingmethod, $status,
$notes, $letter, $firstacquidate, $irregularity, $numberpattern, $callnumber, $hemisphere, $manualhistory,
- $internalnotes, $serialsadditems, $staffdisplaycount, $opacdisplaycount, $graceperiod, $location, $enddate
+ $internalnotes, $serialsadditems, $staffdisplaycount, $opacdisplaycount, $graceperiod, $location, $enddate, $seriallifespan
) = @_;
my $dbh = C4::Context->dbh;
@@ -1232,8 +1234,8 @@ sub NewSubscription {
add3,every3,whenmorethan3,setto3,lastvalue3,innerloop3,
numberingmethod, status, notes, letter,firstacquidate,irregularity,
numberpattern, callnumber, hemisphere,manualhistory,internalnotes,serialsadditems,
- staffdisplaycount,opacdisplaycount,graceperiod,location,enddate)
- VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ staffdisplaycount,opacdisplaycount,graceperiod,location,enddate,seriallifespan)
+ VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
|;
my $sth = $dbh->prepare($query);
$sth->execute(
@@ -1242,7 +1244,7 @@ sub NewSubscription {
$lastvalue1, $innerloop1, $add2, $every2, $whenmorethan2, $setto2, $lastvalue2, $innerloop2,
$add3, $every3, $whenmorethan3, $setto3, $lastvalue3, $innerloop3, $numberingmethod, "$status",
$notes, $letter, $firstacquidate, $irregularity, $numberpattern, $callnumber, $hemisphere, $manualhistory,
- $internalnotes, $serialsadditems, $staffdisplaycount, $opacdisplaycount, $graceperiod, $location, $enddate
+ $internalnotes, $serialsadditems, $staffdisplaycount, $opacdisplaycount, $graceperiod, $location, $enddate, $seriallifespan
);
my $subscriptionid = $dbh->{'mysql_insertid'};
--- a/installer/data/mysql/kohastructure.sql
+++ a/installer/data/mysql/kohastructure.sql
@@ -1884,6 +1884,7 @@ CREATE TABLE `subscription` (
`opacdisplaycount` VARCHAR(10) NULL,
`graceperiod` int(11) NOT NULL default '0',
`enddate` date default NULL,
+ `seriallifespan` TINYINT(1) DEFAULT -1,
PRIMARY KEY (`subscriptionid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
--- a/installer/data/mysql/updatedatabase.pl
+++ a/installer/data/mysql/updatedatabase.pl
@@ -5249,6 +5249,13 @@ if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
SetVersion($DBversion);
}
+$DBversion = 'XXX';
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+ $dbh->do("ALTER TABLE subscription ADD `seriallifespan` TINYINT(1) DEFAULT -1");
+ print "Upgrade to $DBversion done (Add seriallifespan to subscription)\n";
+ SetVersion ($DBversion);
+}
+
=head1 FUNCTIONS
=head2 TableExists($table)
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/serials/subscription-add.tt
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/serials/subscription-add.tt
@@ -1017,6 +1017,67 @@ $(document).ready(function() {
[% END %]
+
+
+ Set the subscription's serial lifespan. A serial will be considered "out of date" after the chosen time period.
+
+