From 8663778b8e6bca5142c84475c0ab4dc11de7c6f7 Mon Sep 17 00:00:00 2001 From: Owen Leonard Date: Fri, 12 Nov 2010 15:54:50 -0500 Subject: [PATCH] Bug 5396: New system preference UseTablesortForCirc This system preference allows the librarian to toggle on or off whether the JQuery tablesort is used on the circ/circulation.pl page. For patrons with many checkouts, this sort may cause very slow page loading (and therefore slow circulation transaction time), depending on the browser and local machine used. Staff can still see a sortable list of current checkouts on the members/moremember.pl page. My revision prevents the template from including *any* tablesorter code if the preference is feature is turned off: both the circulation list and the holds list will have no jQuery tablesorter. Signed-off-by: Nicole Engard Signed-off-by: Ian Walls Signed-off-by: Chris Cormack --- circ/circulation.pl | 4 ++++ installer/data/mysql/en/mandatory/sysprefs.sql | 1 + installer/data/mysql/updatedatabase.pl | 8 ++++++++ .../en/modules/admin/preferences/circulation.pref | 6 ++++++ .../prog/en/modules/circ/circulation.tmpl | 11 +++++------ kohaversion.pl | 2 +- 6 files changed, 25 insertions(+), 7 deletions(-) diff --git a/circ/circulation.pl b/circ/circulation.pl index 539b88ca04..7c4a0dcb0e 100755 --- a/circ/circulation.pl +++ b/circ/circulation.pl @@ -109,6 +109,10 @@ if (C4::Context->preference("DisplayClearScreenButton")) { $template->param(DisplayClearScreenButton => 1); } +if (C4::Context->preference("UseTablesortForCirc")) { + $template->param(UseTablesortForCirc => 1); +} + my $barcode = $query->param('barcode') || ''; $barcode =~ s/^\s*|\s*$//g; # remove leading/trailing whitespace diff --git a/installer/data/mysql/en/mandatory/sysprefs.sql b/installer/data/mysql/en/mandatory/sysprefs.sql index caf11557c5..214d198e3e 100644 --- a/installer/data/mysql/en/mandatory/sysprefs.sql +++ b/installer/data/mysql/en/mandatory/sysprefs.sql @@ -270,6 +270,7 @@ INSERT INTO systempreferences (variable,value,explanation,options,type)VALUES('A INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('AutoSelfCheckID','','Staff ID with circulation rights to be used for automatic web-based self-check. Only applies if AutoSelfCheckAllowed syspref is turned on.','','free'); INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('AutoSelfCheckPass','','Password to be used for automatic web-based self-check. Only applies if AutoSelfCheckAllowed syspref is turned on.','','free'); INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('soundon','0','Enable circulation sounds during checkin and checkout in the staff interface. Not supported by all web browsers yet.','','YesNo'); +INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('UseTablesortForCirc','0','If on, use the JQuery tablesort function on the list of current borrower checkouts on the circulation page. Note that the use of this function may slow down circ for patrons with may checkouts.','','YesNo'); INSERT INTO `systempreferences` ( `variable` , `value` , `options` , `explanation` , `type` ) VALUES ( 'PrintNoticesMaxLines', '0', '', 'If greater than 0, sets the maximum number of lines an overdue notice will print. If the number of items is greater than this number, the notice will end with a warning asking the borrower to check their online account for a full list of overdue items.', 'Integer' ); INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('ILS-DI','0','Enables ILS-DI services at OPAC.','','YesNo'); INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('ILS-DI:AuthorizedIPs','','.','Restricts usage of ILS-DI to some IPs','Free'); diff --git a/installer/data/mysql/updatedatabase.pl b/installer/data/mysql/updatedatabase.pl index 27daa388c8..62e4cd0a17 100755 --- a/installer/data/mysql/updatedatabase.pl +++ b/installer/data/mysql/updatedatabase.pl @@ -3735,6 +3735,7 @@ if (C4::Context->preference("Version") < TransformToNum($DBversion)) { SetVersion ($DBversion); } +<<<<<<< HEAD:installer/data/mysql/updatedatabase.pl $DBversion = '3.01.00.999'; if (C4::Context->preference("Version") < TransformToNum($DBversion)) { print "Upgrade to $DBversion done (3.2.0 release candidate)\n"; @@ -3835,6 +3836,13 @@ if (C4::Context->preference("Version") < TransformToNum($DBversion)) { SetVersion ($DBversion); } +$DBversion = '3.03.00.003'; +if (C4::Context->preference("Version") < TransformToNum($DBversion)) { + $dbh->do("INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('UseTablesortForCirc','0','If on, use the JQuery tablesort function on the list of current borrower checkouts on the circulation page. Note that the use of this function may slow down circ for patrons with may checkouts.','','YesNo');"); + print "Upgrade to $DBversion done (Add UseTablesortForCirc syspref)\n"; + SetVersion ($DBversion); +} + =head1 FUNCTIONS =head2 DropAllForeignKeys($table) diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/circulation.pref b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/circulation.pref index 16b52ff7cf..c4d430501f 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/circulation.pref +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/circulation.pref @@ -30,6 +30,12 @@ Circulation: asc: earliest to latest desc: latest to earliest - due date. + - + - pref: UseTablesortForCirc + choices: + yes: "Enable" + no: "Don't enable" + - "the sorting of current patron checkouts on the circulation screen.
NOTE: Enabling this function may slow down circulation time for patrons with many checkouts." - - pref: soundon choices: diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tmpl b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tmpl index 0b4ac29425..822de1537e 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tmpl +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tmpl @@ -5,20 +5,20 @@ () - +