From eec3991680d6eadbcdf49a44f2aa5dadcb14389d 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 --- .../atomicupdate/Bug_15311-OpacMaintenanceNotice_syspref.sql | 1 + installer/data/mysql/sysprefs.sql | 1 + installer/data/mysql/updatedatabase.pl | 10 ++++++++++ .../intranet-tmpl/prog/en/modules/admin/preferences/opac.pref | 6 ++++++ koha-tmpl/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 0000000..258d76b --- /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 96ea9ad..3ab3bf4 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 a67727f..7e19162 100755 --- a/installer/data/mysql/updatedatabase.pl +++ b/installer/data/mysql/updatedatabase.pl @@ -11721,6 +11721,16 @@ if ( CheckVersion($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 b4ea23c..b6d0ac1 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 @@ -54,6 +54,12 @@ OPAC: 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 choices: diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/modules/maintenance.tt b/koha-tmpl/opac-tmpl/bootstrap/en/modules/maintenance.tt index 9ae1298..000e44e 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.1.0