Bugzilla – Attachment 38716 Details for
Bug 13421
Add the creation time for virtual shelves
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 13421: Add the creation time for virtual shelves
Bug-13421-Add-the-creation-time-for-virtual-shelve.patch (text/plain), 8.43 KB, created by
Jonathan Druart
on 2015-04-30 07:41:51 UTC
(
hide
)
Description:
Bug 13421: Add the creation time for virtual shelves
Filename:
MIME Type:
Creator:
Jonathan Druart
Created:
2015-04-30 07:41:51 UTC
Size:
8.43 KB
patch
obsolete
>From f91be2b986697f6df73ddc4053d71a1b30053b22 Mon Sep 17 00:00:00 2001 >From: Jonathan Druart <jonathan.druart@biblibre.com> >Date: Mon, 8 Dec 2014 16:31:03 +0100 >Subject: [PATCH] Bug 13421: Add the creation time for virtual shelves > >Test plan: >1/ Execute the updatedb entry >2/ Create a list >3/ Go on the shelve list and confirm that the creation and last >modification time are now displayed. >4/ Confirm that you are able to sort the list by creation/modification >time. > >Applied on top of 13419 (rebased updatedatabase.pl) >Works as expected. >Signed-off-by: Marc Veron <veron@veron.ch> > >Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> >--- > C4/Utils/DataTables/VirtualShelves.pm | 4 +-- > C4/VirtualShelves.pm | 11 ++++---- > installer/data/mysql/kohastructure.sql | 1 + > installer/data/mysql/updatedatabase.pl | 31 ++++++++++++++++++++++ > .../prog/en/modules/virtualshelves/shelves.tt | 6 +++++ > .../virtualshelves/tables/shelves_results.tt | 5 ++++ > 6 files changed, 50 insertions(+), 8 deletions(-) > >diff --git a/C4/Utils/DataTables/VirtualShelves.pm b/C4/Utils/DataTables/VirtualShelves.pm >index 97c5611..e49fde2 100644 >--- a/C4/Utils/DataTables/VirtualShelves.pm >+++ b/C4/Utils/DataTables/VirtualShelves.pm >@@ -32,6 +32,7 @@ sub search { > # But the code is too dirty to refactor... > my $select = q| > SELECT vs.shelfnumber, vs.shelfname, vs.owner, vs.category AS type, >+ vs.creation_time, vs.lastmodified as modification_time, > bo.surname, bo.firstname, vs.sortfield as sortby, > count(vc.biblionumber) as count > |; >@@ -65,9 +66,6 @@ sub search { > push @args, "%$shelfname%"; > } > if ( defined $owner and $owner ne '' ) { >- #push @where_strs, 'owner LIKE ?'; >- #push @args, "$owner%"; >- # WHERE category=1 AND (vs.owner=? OR sh.borrowernumber=?); > push @where_strs, '( bo.firstname LIKE ? OR bo.surname LIKE ? )'; > push @args, "%$owner%", "%$owner%"; > } >diff --git a/C4/VirtualShelves.pm b/C4/VirtualShelves.pm >index 60f5a4c..d376039 100644 >--- a/C4/VirtualShelves.pm >+++ b/C4/VirtualShelves.pm >@@ -317,9 +317,10 @@ sub AddShelf { > > return -1 unless _CheckShelfName($hashref->{shelfname}, $hashref->{category}, $owner, 0); > >- my $query = qq(INSERT INTO virtualshelves >- (shelfname,owner,category,sortfield,allow_add,allow_delete_own,allow_delete_other) >- VALUES (?,?,?,?,?,?,?)); >+ my $query = q|INSERT INTO virtualshelves >+ (shelfname,owner,category,sortfield,allow_add,allow_delete_own,allow_delete_other, creation_time) >+ VALUES (?,?,?,?,?,?,?, NOW()) >+ |; > > my $sth = $dbh->prepare($query); > $sth->execute( >@@ -470,13 +471,13 @@ sub ShelfPossibleAction { > } > > my $dbh = C4::Context->dbh; >- my $query = qq/ >+ my $query = q{ > SELECT COALESCE(owner,0) AS owner, category, allow_add, allow_delete_own, allow_delete_other, COALESCE(sh.borrowernumber,0) AS borrowernumber > FROM virtualshelves vs > LEFT JOIN virtualshelfshares sh ON sh.shelfnumber=vs.shelfnumber > AND sh.borrowernumber=? > WHERE vs.shelfnumber=? >- /; >+ }; > my $sth = $dbh->prepare($query); > $sth->execute($user, $shelfnumber); > my $shelf= $sth->fetchrow_hashref; >diff --git a/installer/data/mysql/kohastructure.sql b/installer/data/mysql/kohastructure.sql >index efb2f9a..5062458 100644 >--- a/installer/data/mysql/kohastructure.sql >+++ b/installer/data/mysql/kohastructure.sql >@@ -2311,6 +2311,7 @@ CREATE TABLE `virtualshelves` ( -- information about lists (or virtual shelves) > `category` varchar(1) default NULL, -- type of list (private [1], public [2]) > `sortfield` varchar(16) default NULL, -- the field this list is sorted on > `lastmodified` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, -- date and time the list was last modified >+ `creation_time` TIMESTAMP NOT NULL, -- creation time > `allow_add` tinyint(1) default 0, -- permission for adding entries to list > `allow_delete_own` tinyint(1) default 1, -- permission for deleting entries frm list that you added yourself > `allow_delete_other` tinyint(1) default 0, -- permission for deleting entries from list that another person added >diff --git a/installer/data/mysql/updatedatabase.pl b/installer/data/mysql/updatedatabase.pl >index 48c8122..f2e8ae4 100755 >--- a/installer/data/mysql/updatedatabase.pl >+++ b/installer/data/mysql/updatedatabase.pl >@@ -10301,6 +10301,37 @@ if ( CheckVersion($DBversion) ) { > SetVersion ($DBversion); > } > >+$DBversion = "3.19.00.XXX"; >+if ( CheckVersion($DBversion) ) { >+ $dbh->do(q| >+ INSERT INTO userflags (bit, flag, flagdesc, defaulton) VALUES >+ (20, 'shelves', 'Virtual shelves', 0) >+ |); >+ $dbh->do(q| >+ INSERT INTO permissions (module_bit, code, description) VALUES >+ (20, 'manage_shelves', 'Manage shelves') >+ |); >+ print "Upgrade to $DBversion done (Bug XXXXX: Add permission for shelves)\n"; >+ SetVersion ($DBversion); >+} >+ >+$DBversion = "3.19.00.XXX"; >+if ( CheckVersion($DBversion) ) { >+ $dbh->do(q| >+ ALTER TABLE virtualshelves >+ ADD COLUMN creation_time TIMESTAMP NOT NULL AFTER lastmodified >+ |); >+ # Set creation_time = lastmodified >+ # I would say it's better than 0000-00-00 >+ # Set modified to the existing value (do not get the current ts!) >+ $dbh->do(q| >+ UPDATE virtualshelves >+ SET creation_time = lastmodified, lastmodified = lastmodified >+ |); >+ print "Upgrade to $DBversion done (Bug XXXXX: Add DB field virtualshelves.creation_time)\n"; >+ SetVersion ($DBversion); >+} >+ > # DEVELOPER PROCESS, search for anything to execute in the db_update directory > # SEE bug 13068 > # if there is anything in the atomicupdate, read and execute it. >diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/virtualshelves/shelves.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/virtualshelves/shelves.tt >index a51f6b2..59953b9 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/virtualshelves/shelves.tt >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/virtualshelves/shelves.tt >@@ -54,6 +54,8 @@ $(document).ready(function(){ > { 'mDataProp': 'dt_count' }, > { 'mDataProp': 'dt_owner' }, > { 'mDataProp': 'dt_sortby' }, >+ { 'mDataProp': 'dt_creation_time' }, >+ { 'mDataProp': 'dt_modification_time' }, > { 'mDataProp': 'dt_action', 'bSortable': false } > ], > "aoColumnDefs": [ >@@ -603,6 +605,8 @@ function placeHold () { > <th>Contents</th> > <th>Owner</th> > <th>Sort by</th> >+ <th>Creation date</th> >+ <th>Modification date</th> > <th>Actions</th> > </tr> > <tr class="filters_row"> >@@ -620,6 +624,8 @@ function placeHold () { > </select> > </th> > <th></th> >+ <th></th> >+ <th></th> > </tr> > </thead> > <tbody></tbody> >diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/virtualshelves/tables/shelves_results.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/virtualshelves/tables/shelves_results.tt >index cfdd679..e156c27 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/virtualshelves/tables/shelves_results.tt >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/virtualshelves/tables/shelves_results.tt >@@ -1,3 +1,4 @@ >+[% USE KohaDates %] > { > "sEcho": [% sEcho %], > "iTotalRecords": [% iTotalRecords %], >@@ -15,6 +16,10 @@ > "<a href='/cgi-bin/koha/members/moremember.pl?borrowernumber=[% data.owner %]'>[% data.firstname %] [% data.surname %]</a>", > "dt_sortby": > [% IF data.sortby == "author" %]"Author"[% ELSIF data.sortby == "copyrightdate" %]"Year"[% ELSIF data.sortby == "itemcallnumber" %]"Call number"[% ELSE %]"Title"[% END %], >+ "dt_creation_time": >+ "[% data.creation_time | $KohaDates %]", >+ "dt_modification_time": >+ "[% data.modification_time | $KohaDates %]", > "dt_action": > "<a style=\"cursor:pointer\">[% PROCESS action_form shelfnumber=data.shelfnumber can_manage_shelf=data.can_manage_shelf can_delete_shelf=data.can_delete_shelf type=data.type %]</a>" > }[% UNLESS loop.last %],[% END %] >-- >2.1.0
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 13421
:
34244
|
34505
|
34581
|
34583
| 38716 |
38717
|
39185