Bugzilla – Attachment 35865 Details for
Bug 8296
Add descriptive (text) published date field for serials
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 8296: Add descriptive (text) published date field for serials
Bug-8296-Add-descriptive-text-published-date-field.patch (text/plain), 14.77 KB, created by
Julian Maurice
on 2015-02-12 12:31:02 UTC
(
hide
)
Description:
Bug 8296: Add descriptive (text) published date field for serials
Filename:
MIME Type:
Creator:
Julian Maurice
Created:
2015-02-12 12:31:02 UTC
Size:
14.77 KB
patch
obsolete
>From 7caf985322bc05072a0fee4e3084aa0a0575326b Mon Sep 17 00:00:00 2001 >From: Julian Maurice <julian.maurice@biblibre.com> >Date: Fri, 22 Jun 2012 17:25:54 +0200 >Subject: [PATCH] Bug 8296: Add descriptive (text) published date field for > serials > >Add a new field serial.publisheddatetext for displaying published date >in another format that dateformat syspref permit. > >Signed-off-by: Cedric Vita <cedric.vita@dracenie.com> >--- > C4/Serials.pm | 39 +++++++++++++++------- > installer/data/mysql/kohastructure.sql | 1 + > installer/data/mysql/updatedatabase.pl | 13 ++++++++ > .../prog/en/modules/serials/serials-collection.tt | 14 ++++++++ > .../prog/en/modules/serials/serials-edit.tt | 7 ++++ > .../prog/en/modules/serials/subscription-detail.tt | 4 +++ > misc/cronjobs/serialsUpdate.pl | 2 +- > serials/serials-collection.pl | 10 ++++-- > serials/serials-edit.pl | 4 +++ > 9 files changed, 78 insertions(+), 16 deletions(-) > >diff --git a/C4/Serials.pm b/C4/Serials.pm >index 49325cb..c483312 100644 >--- a/C4/Serials.pm >+++ b/C4/Serials.pm >@@ -315,6 +315,7 @@ sub GetFullSubscription { > serial.serialseq, > serial.planneddate, > serial.publisheddate, >+ serial.publisheddatetext, > serial.status, > serial.notes as notes, > year(IF(serial.publisheddate="00-00-0000",serial.planneddate,serial.publisheddate)) as year, >@@ -471,6 +472,7 @@ sub GetFullSubscriptionsFromBiblionumber { > serial.serialseq, > serial.planneddate, > serial.publisheddate, >+ serial.publisheddatetext, > serial.status, > serial.notes as notes, > year(IF(serial.publisheddate="00-00-0000",serial.planneddate,serial.publisheddate)) as year, >@@ -714,7 +716,8 @@ sub GetSerials { > my $counter = 0; > $count = 5 unless ($count); > my @serials; >- my $query = "SELECT serialid,serialseq, status, publisheddate, planneddate,notes, routingnotes >+ my $query = "SELECT serialid,serialseq, status, publisheddate, >+ publisheddatetext, planneddate,notes, routingnotes > FROM serial > WHERE subscriptionid = ? AND status NOT IN (2, 4, 41, 42, 43, 44, 5) > ORDER BY IF(publisheddate<>'0000-00-00',publisheddate,planneddate) DESC"; >@@ -734,7 +737,8 @@ sub GetSerials { > } > > # OK, now add the last 5 issues arrives/missing >- $query = "SELECT serialid,serialseq, status, planneddate, publisheddate,notes, routingnotes >+ $query = "SELECT serialid,serialseq, status, planneddate, publisheddate, >+ publisheddatetext, notes, routingnotes > FROM serial > WHERE subscriptionid = ? > AND (status in (2, 4, 41, 42, 43, 44, 5)) >@@ -779,7 +783,8 @@ sub GetSerials2 { > > my $dbh = C4::Context->dbh; > my $query = qq| >- SELECT serialid,serialseq, status, planneddate, publisheddate,notes, routingnotes >+ SELECT serialid,serialseq, status, planneddate, publisheddate, >+ publisheddatetext, notes, routingnotes > FROM serial > WHERE subscriptionid=$subscription AND status IN ($status) > ORDER BY publisheddate,serialid DESC >@@ -1105,7 +1110,8 @@ sub ModSubscriptionHistory { > > =head2 ModSerialStatus > >-ModSerialStatus($serialid,$serialseq, $planneddate,$publisheddate,$status,$notes) >+ ModSerialStatus($serialid, $serialseq, $planneddate, $publisheddate, >+ $publisheddatetext, $status, $notes); > > This function modify the serial status. Serial status is a number.(eg 2 is "arrived") > Note : if we change from "waited" to something else,then we will have to create a new "waited" entry >@@ -1113,7 +1119,8 @@ Note : if we change from "waited" to something else,then we will have to create > =cut > > sub ModSerialStatus { >- my ( $serialid, $serialseq, $planneddate, $publisheddate, $status, $notes ) = @_; >+ my ($serialid, $serialseq, $planneddate, $publisheddate, $publisheddatetext, >+ $status, $notes) = @_; > > return unless ($serialid); > >@@ -1135,9 +1142,15 @@ sub ModSerialStatus { > DelIssue( { 'serialid' => $serialid, 'subscriptionid' => $subscriptionid, 'serialseq' => $serialseq } ); > } else { > >- my $query = 'UPDATE serial SET serialseq=?,publisheddate=?,planneddate=?,status=?,notes=? WHERE serialid = ?'; >+ my $query = ' >+ UPDATE serial >+ SET serialseq = ?, publisheddate = ?, publisheddatetext = ?, >+ planneddate = ?, status = ?, notes = ? >+ WHERE serialid = ? >+ '; > $sth = $dbh->prepare($query); >- $sth->execute( $serialseq, $publisheddate, $planneddate, $status, $notes, $serialid ); >+ $sth->execute( $serialseq, $publisheddate, $publisheddatetext, >+ $planneddate, $status, $notes, $serialid ); > $query = "SELECT * FROM subscription WHERE subscriptionid = ?"; > $sth = $dbh->prepare($query); > $sth->execute($subscriptionid); >@@ -1542,19 +1555,21 @@ returns the serial id > =cut > > sub NewIssue { >- my ( $serialseq, $subscriptionid, $biblionumber, $status, $planneddate, $publisheddate, $notes ) = @_; >+ my ( $serialseq, $subscriptionid, $biblionumber, $status, $planneddate, >+ $publisheddate, $publisheddatetext, $notes ) = @_; > ### FIXME biblionumber CAN be provided by subscriptionid. So Do we STILL NEED IT ? > > return unless ($subscriptionid); > > my $dbh = C4::Context->dbh; > my $query = qq| >- INSERT INTO serial >- (serialseq,subscriptionid,biblionumber,status,publisheddate,planneddate,notes) >- VALUES (?,?,?,?,?,?,?) >+ INSERT INTO serial (serialseq, subscriptionid, biblionumber, status, >+ publisheddate, publisheddatetext, planneddate, notes) >+ VALUES (?,?,?,?,?,?,?,?) > |; > my $sth = $dbh->prepare($query); >- $sth->execute( $serialseq, $subscriptionid, $biblionumber, $status, $publisheddate, $planneddate, $notes ); >+ $sth->execute( $serialseq, $subscriptionid, $biblionumber, $status, >+ $publisheddate, $publisheddatetext, $planneddate, $notes ); > my $serialid = $dbh->{'mysql_insertid'}; > $query = qq| > SELECT missinglist,recievedlist >diff --git a/installer/data/mysql/kohastructure.sql b/installer/data/mysql/kohastructure.sql >index cd83f99..20301cd 100644 >--- a/installer/data/mysql/kohastructure.sql >+++ b/installer/data/mysql/kohastructure.sql >@@ -1965,6 +1965,7 @@ CREATE TABLE `serial` ( > `planneddate` date default NULL, > `notes` text, > `publisheddate` date default NULL, >+ publisheddatetext varchar(100) default NULL, > `claimdate` date default NULL, > claims_count int(11) default 0, > `routingnotes` text, >diff --git a/installer/data/mysql/updatedatabase.pl b/installer/data/mysql/updatedatabase.pl >index dab1c62..b600139 100755 >--- a/installer/data/mysql/updatedatabase.pl >+++ b/installer/data/mysql/updatedatabase.pl >@@ -9759,6 +9759,19 @@ if ( CheckVersion($DBversion) ) { > SetVersion ($DBversion); > } > >+$DBversion = "XXX"; >+if (C4::Context->preference("Version") < TransformToNum($DBversion)) { >+ $dbh->do(" >+ ALTER TABLE serial >+ ADD COLUMN publisheddatetext VARCHAR(100) DEFAULT NULL >+ AFTER publisheddate >+ "); >+ >+ print "Upgrade to $DBversion done (Add serial.publisheddatetext)\n"; >+ SetVersion($DBversion); >+} >+ >+ > =head1 FUNCTIONS > > =head2 TableExists($table) >diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/serials/serials-collection.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/serials/serials-collection.tt >index 0114e1e..17d9094 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/serials/serials-collection.tt >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/serials/serials-collection.tt >@@ -201,6 +201,8 @@ $(document).ready(function() { > [% END %] > <th class="title-string">Date published > </th> >+ <th class="title-string">Date published (text) >+ </th> > <th class="title-string">Date received > </th> > <th>Number >@@ -247,6 +249,18 @@ $(document).ready(function() { > </span> > </td> > <td> >+ [% publisheddatetext = serial.publisheddatetext || serial.publisheddate %] >+ <span title="[% publisheddatetext %]"> >+ [% IF serial.publisheddatetext %] >+ [% publisheddatetext %] >+ [% ELSIF serial.publisheddate %] >+ [% serial.publisheddate | $KohaDates %] >+ [% ELSE %] >+ Unknown >+ [% END %] >+ </span> >+ </td> >+ <td> > <span title="[% serial.planneddate %]"> > [% IF serial.planneddate %] > [% serial.planneddate | $KohaDates %] >diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/serials/serials-edit.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/serials/serials-edit.tt >index 3877715..5e05954 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/serials/serials-edit.tt >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/serials/serials-edit.tt >@@ -145,6 +145,7 @@ $(document).ready(function() { > <tr> > <th>Numbered</th> > <th>Published on</th> >+ <th>Published on (text)</th> > <th>Expected on</th> > <th>Status</th> > <th>Notes</th> >@@ -166,6 +167,9 @@ $(document).ready(function() { > <input type="text" name="publisheddate" value="[% serialslis.publisheddate %]" size="10" maxlength="15" class="datepicker" /> > </td> > <td> >+ <input type="text" name="publisheddatetext" value="[% serialslis.publisheddatetext || serialslis.publisheddate %]" size="10" maxlength="15" /> >+ </td> >+ <td> > <input type="text" id="expecteddate" name="planneddate" value="[% serialslis.planneddate %]" size="10" maxlength="15" class="datepicker" /> > </td> > <td> >@@ -320,6 +324,9 @@ $(document).ready(function() { > <input type="text" name="publisheddate" value="[% newserialloo.publisheddate %]" size="10" maxlength="15" class="datepicker" /> > </td> > <td> >+ <input type="text" name="publisheddatetext" value="[% newserialloo.publisheddatetext || newserialloo.publisheddate %]" size="10" maxlength="15" /> >+ </td> >+ <td> > <input type="text" name="planneddate" id="supexpecteddate" value="[% newserialloo.planneddate %]" size="10" maxlength="15" class="datepicker" /> > </td> > <td> >diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/serials/subscription-detail.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/serials/subscription-detail.tt >index b684e5e..8764c30 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/serials/subscription-detail.tt >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/serials/subscription-detail.tt >@@ -251,6 +251,7 @@ $(document).ready(function() { > <th>Issue number</th> > <th>Planned date</th> > <th>Published date</th> >+ <th>Published date (text)</th> > <th>Status</th> > </tr> > [% FOREACH serialslis IN serialslist %] >@@ -273,6 +274,9 @@ $(document).ready(function() { > [% END %] > </td> > <td> >+ [% serialslis.publisheddatetext || serialslis.publisheddate %] >+ </td> >+ <td> > [% IF ( serialslis.status1 ) %]Expected[% END %] > [% IF ( serialslis.status2 ) %]Arrived[% END %] > [% IF ( serialslis.status3 ) %]Late[% END %] >diff --git a/misc/cronjobs/serialsUpdate.pl b/misc/cronjobs/serialsUpdate.pl >index 6ac5558..95de35f 100755 >--- a/misc/cronjobs/serialsUpdate.pl >+++ b/misc/cronjobs/serialsUpdate.pl >@@ -128,7 +128,7 @@ while ( my $issue = $sth->fetchrow_hashref ) { > { > $confirm > and ModSerialStatus( $issue->{serialid}, $issue->{serialseq}, >- $issue->{planneddate}, $issue->{publisheddate}, >+ $issue->{planneddate}, $issue->{publisheddate}, $issue->{publisheddatetext}, > 3, $note ); > $verbose > and print "Serial issue with id=" . $issue->{serialid} . " updated\n"; >diff --git a/serials/serials-collection.pl b/serials/serials-collection.pl >index 6d17354..17e0af2 100755 >--- a/serials/serials-collection.pl >+++ b/serials/serials-collection.pl >@@ -55,8 +55,12 @@ my $subscriptions; > > if($op eq 'gennext' && @subscriptionid){ > my $subscriptionid = $subscriptionid[0]; >- my $sth = $dbh->prepare("SELECT publisheddate, serialid, serialseq, planneddate >- FROM serial WHERE status = 1 AND subscriptionid = ?"); >+ my $sth = $dbh->prepare(" >+ SELECT publisheddate, publisheddatetext, serialid, serialseq, >+ planneddate >+ FROM serial >+ WHERE status = 1 AND subscriptionid = ? >+ "); > my $status = defined( $nbissues ) ? 2 : 3; > $nbissues ||= 1; > for ( my $i = 0; $i < $nbissues; $i++ ){ >@@ -65,7 +69,7 @@ if($op eq 'gennext' && @subscriptionid){ > if ( my $issue = $sth->fetchrow_hashref ) { > ModSerialStatus( $issue->{serialid}, $issue->{serialseq}, > $issue->{planneddate}, $issue->{publisheddate}, >- $status, "" ); >+ $issue->{publisheddatetext}, $status, "" ); > } else { > require C4::Serials::Numberpattern; > my $subscription = GetSubscription($subscriptionid); >diff --git a/serials/serials-edit.pl b/serials/serials-edit.pl >index d9b97a6..0e7542a 100755 >--- a/serials/serials-edit.pl >+++ b/serials/serials-edit.pl >@@ -82,6 +82,8 @@ my @serialids = $query->param('serialid'); > my @serialseqs = $query->param('serialseq'); > my @planneddates = $query->param('planneddate'); > my @publisheddates = $query->param('publisheddate'); >+my @publisheddates = $query->param('publisheddate'); >+my @publisheddatetexts = $query->param('publisheddatetext'); > my @status = $query->param('status'); > my @notes = $query->param('notes'); > my @subscriptionids = $query->param('subscriptionid'); >@@ -229,6 +231,7 @@ if ( $op and $op eq 'serialchangestatus' ) { > $status[$i], > $plan_date, > $pub_date, >+ $publisheddatetexts[$i], > $notes[$i] > ); > } >@@ -239,6 +242,7 @@ if ( $op and $op eq 'serialchangestatus' ) { > $serialseqs[$i], > $plan_date, > $pub_date, >+ $publisheddatetexts[$i], > $status[$i], > $notes[$i] > ); >-- >1.9.1
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 8296
:
10435
|
10582
|
11552
|
12228
|
12229
|
12230
|
12233
|
12240
|
13079
|
13080
|
13081
|
16315
|
16316
|
16317
|
16406
|
16420
|
16421
|
16422
|
18796
|
18797
|
18798
|
18811
|
18812
|
18813
|
19860
|
21341
|
21342
|
21343
|
21344
|
22727
|
22728
|
22729
|
22730
|
28974
|
28975
|
28976
|
28977
|
30379
|
30380
|
30381
|
30382
|
30383
|
30483
|
30484
|
30485
|
32124
|
32903
|
32904
|
32905
|
32906
|
32907
|
32908
|
33006
|
33007
|
33008
|
33009
|
33010
|
33011
|
33012
|
35865
|
35866
|
35867
|
35868
|
35869
|
35870
|
35871
|
41830
|
41831
|
41832
|
41833
|
41834
|
41835
|
41836
|
43665
|
43666
|
43667
|
43668
|
43669
|
43670
|
43671
|
45469