From 62860d53ae9653daa07943786bb07482ea9f0bb0 Mon Sep 17 00:00:00 2001 From: Barry Cannon Date: Wed, 16 Dec 2015 10:37:17 +0000 Subject: [PATCH] Bug 15311 - Let libraries set text to display when OpacMaintenance = on Added new systempreference OpacMaintenanceNotice. When OpacMaintenance is ON the HTML contents of OpacMaintenanceNotice will be displayed. Enabling OpacMaintenance is all that is required to enable this preference. If OpacMaintenanceNotice is undefined, the default (original) notice will appear when OpacMaintenance is enabled. To test: - Enable OpacMaintenance systempreference - Observe the default maintenance message when OPAC is viewed - Edit OpacMaintenanceNotice systempreference, adding custom HTML - Observe the custom HTML appear on the opac - Remove OpacMaintenanceNotice (mindful of orphaned spaces etc.) - Observe the default opac notice appears in the opac - Disable OpacMaintenance - Observce opac is back online Moving code to atomic update and fixing merge conflict NOTE: Accounted for an SQL typo and autoescaping of the template. If someone else could test this, then I would be fine with marking it signed off. Signed-off-by: Mark Tompsett Signed-off-by: Jonathan Druart Signed-off-by: Kyle M Hall --- .../Bug_15311-OpacMaintenanceNotice_syspref.sql | 1 + installer/data/mysql/sysprefs.sql | 1 + installer/data/mysql/updatedatabase.pl | 10 ++++++++++ .../prog/en/modules/admin/preferences/opac.pref | 6 ++++++ .../opac-tmpl/bootstrap/en/modules/maintenance.tt | 9 +++++++-- 5 files changed, 25 insertions(+), 2 deletions(-) create mode 100644 installer/data/mysql/atomicupdate/Bug_15311-OpacMaintenanceNotice_syspref.sql diff --git a/installer/data/mysql/atomicupdate/Bug_15311-OpacMaintenanceNotice_syspref.sql b/installer/data/mysql/atomicupdate/Bug_15311-OpacMaintenanceNotice_syspref.sql new file mode 100644 index 0000000000..258d76ba47 --- /dev/null +++ b/installer/data/mysql/atomicupdate/Bug_15311-OpacMaintenanceNotice_syspref.sql @@ -0,0 +1 @@ +INSERT IGNORE INTO systempreferences ( `variable`, `value`, `options`, `explanation`, `type` ) VALUES ('OpacMaintenanceNotice','','','A user-defined block of HTML to appear on screen when OpacMaintenace is enabled','Textarea'); diff --git a/installer/data/mysql/sysprefs.sql b/installer/data/mysql/sysprefs.sql index e56f5ee223..ef3d10a7d5 100644 --- a/installer/data/mysql/sysprefs.sql +++ b/installer/data/mysql/sysprefs.sql @@ -299,6 +299,7 @@ INSERT INTO systempreferences ( `variable`, `value`, `options`, `explanation`, ` ('OpacLocationBranchToDisplay','holding','holding|home|both','In the OPAC, under location show which branch for Location in the record details.','Choice'), ('OpacLocationBranchToDisplayShelving','holding','holding|home|both','In the OPAC, display the shelving location under which which column.', 'Choice'), ('OpacMaintenance','0','','If ON, enables maintenance warning in OPAC','YesNo'), +('OpacMaintenanceNotice','','','A user-defined block of HTML to appear on screen when OpacMaintenace is enabled','Textarea'), ('OpacMainUserBlock','Welcome to Koha...\r\n
','70|10','A user-defined block of HTML in the main content area of the opac main page','Textarea'), ('OpacMaxItemsToDisplay','50','','Max items to display at the OPAC on a biblio detail','Integer'), ('OPACMySummaryHTML','','70|10','Enter the HTML that will appear in a column on the \'my summary\' and \'my reading history\' tabs when a user is logged in to the OPAC. Enter {BIBLIONUMBER}, {TITLE}, {AUTHOR}, or {ISBN} in place of their respective variables in the HTML. Leave blank to disable.','Textarea'), diff --git a/installer/data/mysql/updatedatabase.pl b/installer/data/mysql/updatedatabase.pl index b600e67c04..47b791d5af 100755 --- a/installer/data/mysql/updatedatabase.pl +++ b/installer/data/mysql/updatedatabase.pl @@ -11870,6 +11870,16 @@ if ( CheckVersion($DBversion) ) { SetVersion($DBversion); } +$DBversion = "3.23.00.XXX"; +if(CheckVersion($DBversion)) { + $dbh->do(q{ + INSERT IGNORE INTO systempreferences (variable,value,options,explanation,type) + VALUES ('OpacMaintenanceNotice','','','A user-defined block of HTML to appear on screen when OpacMaintenace is enabled','Textarea') + }); + print "Upgrade to $DBversion done (Bug 15311: Let libraries set text to display when OpacMaintenance = on)\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/admin/preferences/opac.pref b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/opac.pref index 5d1fca0d76..b041ddfd30 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/opac.pref +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/opac.pref @@ -53,6 +53,12 @@ OPAC: yes: Show no: "Don't show" - "a warning that the OPAC is under maintenance, instead of the OPAC itself. Note: this shows the same warning as when the database needs to be upgraded, but unconditionally." + - + - + - "Show the following HTML when OpacMaintenance is enabled:" + - pref: OpacMaintenanceNotice + type: htmlarea + class: code - - By default, show bib records - pref: BiblioDefaultView diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/modules/maintenance.tt b/koha-tmpl/opac-tmpl/bootstrap/en/modules/maintenance.tt index 62fc15fd0d..01202cdc77 100644 --- a/koha-tmpl/opac-tmpl/bootstrap/en/modules/maintenance.tt +++ b/koha-tmpl/opac-tmpl/bootstrap/en/modules/maintenance.tt @@ -1,3 +1,4 @@ +[% USE Koha %] [% INCLUDE 'doc-head-open.inc' %] [% IF ( LibraryNameTitle ) %][% LibraryNameTitle %][% ELSE %]Koha online[% END %] catalog [% INCLUDE 'doc-head-close.inc' %] @@ -26,8 +27,12 @@
-

System maintenance

-

The [% IF ( LibraryNameTitle ) %][% LibraryNameTitle %][% ELSE %]Koha online[% END %] catalog is offline for system maintenance. We'll be back soon! If you have any questions, please contact the site administrator

+ [% IF Koha.Preference( 'OpacMaintenanceNotice' ) %] + [% Koha.Preference( 'OpacMaintenanceNotice' ).raw %] + [% ELSE %] +

System Maintenance

+

The [% IF ( LibraryNameTitle ) %][% LibraryNameTitle %][% ELSE %]Koha online[% END %] catalog is offline for system maintenance. We'll be back soon! If you have any questions, please contact the site administrator

+ [% END %]
-- 2.39.5