Bugzilla – Attachment 12229 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]
[SIGNED-OFF] Bug 8296: Add descriptive (text) published date field for serials
0001-Bug-8296-Add-descriptive-text-published-date-field-f.patch (text/plain), 14.80 KB, created by
Julian Maurice
on 2012-09-14 14:28:02 UTC
(
hide
)
Description:
[SIGNED-OFF] Bug 8296: Add descriptive (text) published date field for serials
Filename:
MIME Type:
Creator:
Julian Maurice
Created:
2012-09-14 14:28:02 UTC
Size:
14.80 KB
patch
obsolete
>From eb397c92ff650fb5d1fd659df953928756788547 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 1/2] 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. >--- > C4/Serials.pm | 40 +++++++++++++------- > installer/data/mysql/kohastructure.sql | 1 + > installer/data/mysql/updatedatabase.pl | 12 ++++++ > .../prog/en/modules/serials/serials-collection.tt | 4 ++ > .../prog/en/modules/serials/serials-edit.tt | 7 ++++ > .../prog/en/modules/serials/subscription-detail.tt | 6 +++ > .../prog/en/modules/opac-full-serial-issues.tt | 2 + > misc/cronjobs/serialsUpdate.pl | 2 +- > serials/serials-collection.pl | 12 ++++-- > serials/serials-edit.pl | 4 ++ > 10 files changed, 72 insertions(+), 18 deletions(-) > >diff --git a/C4/Serials.pm b/C4/Serials.pm >index 98660e9..9ab507e 100644 >--- a/C4/Serials.pm >+++ b/C4/Serials.pm >@@ -353,6 +353,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, >@@ -514,6 +515,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, >@@ -650,7 +652,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,5) > ORDER BY IF(publisheddate<>'0000-00-00',publisheddate,planneddate) DESC"; >@@ -670,7 +673,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,5)) >@@ -712,7 +716,8 @@ sub GetSerials2 { > my ( $subscription, $status ) = @_; > 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 >@@ -1007,7 +1012,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 >@@ -1015,7 +1021,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) = @_; > > #It is a usual serial > # 1st, get previous status : >@@ -1031,10 +1038,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); >@@ -1390,17 +1402,19 @@ 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 ? > > 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 1dc17ba..86f0d4a 100644 >--- a/installer/data/mysql/kohastructure.sql >+++ b/installer/data/mysql/kohastructure.sql >@@ -1775,6 +1775,7 @@ CREATE TABLE `serial` ( > `planneddate` date default NULL, > `notes` text, > `publisheddate` date default NULL, >+ publisheddatetext varchar(100) default NULL, > `itemnumber` text default NULL, > `claimdate` date default NULL, > `routingnotes` text, >diff --git a/installer/data/mysql/updatedatabase.pl b/installer/data/mysql/updatedatabase.pl >index edc4758..5d6a2af 100755 >--- a/installer/data/mysql/updatedatabase.pl >+++ b/installer/data/mysql/updatedatabase.pl >@@ -5781,6 +5781,18 @@ if (C4::Context->preference("Version") < TransformToNum($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 23b496b..cb0f2fe 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 >@@ -200,6 +200,7 @@ $(document).ready(function() { > [% END %] > <th>Date published > </th> >+ <th>Date published (text)</th> > <th>Date received > </th> > <th>Number >@@ -222,6 +223,9 @@ $(document).ready(function() { > [% serial.publisheddate %] > </td> > <td> >+ [% serial.publisheddatetext || serial.publisheddate %] >+ </td> >+ <td> > [% serial.planneddate %] > </td> > <td> >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 79ce099..d005af8 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 >@@ -199,6 +199,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> >@@ -220,6 +221,9 @@ $(document).ready(function() { > <input type="text" name="publisheddate" value="[% serialslis.publisheddate %]" size="10" maxlength="15" /> > </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" /> > </td> > <td> >@@ -332,6 +336,9 @@ $(document).ready(function() { > <input type="text" name="publisheddate" value="[% newserialloo.publisheddate %]" size="10" maxlength="15" /> > </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" /> > </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 1afd0c1..f724f21 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 >@@ -326,6 +326,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 %] >@@ -340,6 +341,11 @@ $(document).ready(function() { > [% serialslis.publisheddate %] > </td> > <td> >+ [% serialslis.publisheddatetext >+ || serialslis.publisheddate >+ %] >+ </td> >+ <td> > [% IF ( serialslis.status1 ) %] > Expected > [% END %] >diff --git a/koha-tmpl/opac-tmpl/prog/en/modules/opac-full-serial-issues.tt b/koha-tmpl/opac-tmpl/prog/en/modules/opac-full-serial-issues.tt >index 6b47afa..5ec27ca 100644 >--- a/koha-tmpl/opac-tmpl/prog/en/modules/opac-full-serial-issues.tt >+++ b/koha-tmpl/opac-tmpl/prog/en/modules/opac-full-serial-issues.tt >@@ -179,6 +179,7 @@ function showlayer(numlayer){ > <thead> > <tr> > <th>Date</th> >+ <th>Date (text)</th> > <th>Library</th> > <th>Notes</th> > <th>Date received</th> >@@ -192,6 +193,7 @@ function showlayer(numlayer){ > <tr> > <td> [% serial.publisheddate %] > </td> >+ <td>[% serial.publisheddatetext || serial.publisheddate %]</td> > <td class="libraryfilterclass"> [% serial.branchcode %] > </td> > <td> [% serial.notes %] >diff --git a/misc/cronjobs/serialsUpdate.pl b/misc/cronjobs/serialsUpdate.pl >index 1de5a48..eca21df 100755 >--- a/misc/cronjobs/serialsUpdate.pl >+++ b/misc/cronjobs/serialsUpdate.pl >@@ -82,7 +82,7 @@ while ( my $issue = $sth->fetchrow_hashref ) { > { > > ModSerialStatus( $issue->{serialid}, $issue->{serialseq}, >- $issue->{planneddate}, $issue->{publisheddate}, >+ $issue->{planneddate}, $issue->{publisheddate}, $issue->{publisheddatetext}, > 3, "Automatically set to late" ); > print $issue->{serialid}." update\n"; > } >diff --git a/serials/serials-collection.pl b/serials/serials-collection.pl >index 610de60..4556653 100755 >--- a/serials/serials-collection.pl >+++ b/serials/serials-collection.pl >@@ -57,15 +57,19 @@ if($op eq 'gennext' && @subscriptionid){ > my $subscriptionid = $subscriptionid[0]; > my $subscription = GetSubscription($subscriptionid); > >- 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 = ? >+ "); > $sth->execute($subscriptionid); > > # modify actual expected issue, to generate the next > if ( my $issue = $sth->fetchrow_hashref ) { > ModSerialStatus( $issue->{serialid}, $issue->{serialseq}, >- $issue->{planneddate}, $issue->{publisheddate}, >- 3, "" ); >+ $issue->{planneddate}, $issue->{publisheddate}, >+ $issue->{publisheddatetext}, 3, "" ); > }else{ > my $expected = GetNextExpected($subscriptionid); > my ( >diff --git a/serials/serials-edit.pl b/serials/serials-edit.pl >index bb87c5f..b16d2a3 100755 >--- a/serials/serials-edit.pl >+++ b/serials/serials-edit.pl >@@ -81,6 +81,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'); >@@ -226,6 +228,7 @@ if ( $op and $op eq 'serialchangestatus' ) { > $status[$i], > $plan_date, > $pub_date, >+ $publisheddatetexts[$i], > $notes[$i] > ); > } >@@ -236,6 +239,7 @@ if ( $op and $op eq 'serialchangestatus' ) { > $serialseqs[$i], > $plan_date, > $pub_date, >+ $publisheddatetexts[$i], > $status[$i], > $notes[$i] > ); >-- >1.7.10.4 >
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