From 6703b82de3b9e1145305c99b71ee83cb345cbe0a Mon Sep 17 00:00:00 2001 From: Owen Leonard Date: Mon, 16 Oct 2023 16:16:13 +0000 Subject: [PATCH] Bug 35065: Convert SelfCheckHelpMessage system preference to HTML customization This patch moves the SelfCheckHelpMessage system preference into HTML customizations, making it possible to have language- and library-specific content. To test you should have some content in the SelfCheckHelpMessage system preference before applying the patch. Apply the patch, run the database update process, and rebuild the OPAC CSS. - In the staff client, go to Tools -> HTML customizations and verify that the content from SelfCheckHelpMessage is now stored there. - The HTML customization entry form should offer SelfCheckHelpMessage as a choice under "Display location." - Update and reinstall active translations (for instance fr-FR): - perl misc/translator/translate update fr-FR - perl misc/translator/translate install fr-FR - Enable the translation if necessary under Administration -> System preferences -> language. - Enable the "opaclanguagesdisplay" preference if necessary. - Edit the SelfCheckHelpMessage HTML customization and add unique content to the "fr-FR" tab. - Log into the self checkout system and click the "Help" link at the top. - On the help page, confirm that the SelfCheckHelpMessage content is shown there. - Switch to your updated translation and confirm that the content you added for your translation shows up correctly. - Go to Administration -> System preferences and search for "SelfCheckHelpMessage." It should return no results. Signed-off-by: David Nind --- ...CheckHelpMessage-to-additional-contents.pl | 38 +++++++++++++++++++ installer/data/mysql/mandatory/sysprefs.sql | 1 - .../admin/preferences/circulation.pref | 6 --- .../en/modules/tools/additional-contents.tt | 2 +- .../bootstrap/en/modules/sco/help.tt | 4 +- 5 files changed, 42 insertions(+), 9 deletions(-) create mode 100755 installer/data/mysql/atomicupdate/bug-35065-move-SelfCheckHelpMessage-to-additional-contents.pl diff --git a/installer/data/mysql/atomicupdate/bug-35065-move-SelfCheckHelpMessage-to-additional-contents.pl b/installer/data/mysql/atomicupdate/bug-35065-move-SelfCheckHelpMessage-to-additional-contents.pl new file mode 100755 index 0000000000..6642a668ce --- /dev/null +++ b/installer/data/mysql/atomicupdate/bug-35065-move-SelfCheckHelpMessage-to-additional-contents.pl @@ -0,0 +1,38 @@ +use Modern::Perl; + +return { + bug_number => "35065", + description => "Move SelfCheckHelpMessage to additional contents", + up => sub { + my ($args) = @_; + my ( $dbh, $out ) = @$args{qw(dbh out)}; + + # Get any existing value from the SelfCheckHelpMessage system preference + my ($selfcheckhelpmessage) = $dbh->selectrow_array( + q| + SELECT value FROM systempreferences WHERE variable='SelfCheckHelpMessage'; + | + ); + if ($selfcheckhelpmessage) { + + # Insert any values found from system preference into additional_contents + $dbh->do( + "INSERT INTO additional_contents ( category, code, location, branchcode, published_on ) VALUES ('html_customizations', 'SelfCheckHelpMessage', 'SelfCheckHelpMessage', NULL, CAST(NOW() AS date) )" + ); + + my ($insert_id) = $dbh->selectrow_array( + "SELECT id FROM additional_contents WHERE category = 'html_customizations' AND code = 'SelfCheckHelpMessage' AND location = 'SelfCheckHelpMessage' LIMIT 1", + {} + ); + + $dbh->do( + "INSERT INTO additional_contents_localizations ( additional_content_id, title, content, lang ) VALUES ( ?, 'SelfCheckHelpMessage default', ?, 'default' )", + undef, $insert_id, $selfcheckhelpmessage + ); + + # Remove old system preference + $dbh->do("DELETE FROM systempreferences WHERE variable='SelfCheckHelpMessage'"); + say $out "Bug 35065 update done"; + } + } + } diff --git a/installer/data/mysql/mandatory/sysprefs.sql b/installer/data/mysql/mandatory/sysprefs.sql index 85f3e5968f..100033ec21 100644 --- a/installer/data/mysql/mandatory/sysprefs.sql +++ b/installer/data/mysql/mandatory/sysprefs.sql @@ -656,7 +656,6 @@ INSERT INTO systempreferences ( `variable`, `value`, `options`, `explanation`, ` ('SearchWithISBNVariations','0',NULL,'If enabled, search on all variations of the ISBN','YesNo'), ('SearchWithISSNVariations','0',NULL,'If enabled, search on all variations of the ISSN','YesNo'), ('SelfCheckAllowByIPRanges','',NULL,'(Leave blank if not used. Use ranges or simple ip addresses separated by spaces, like 192.168.1.1 192.168.0.0/24.)','Short'), -('SelfCheckHelpMessage','','70|10','Enter HTML to include under the basic Web-based Self Checkout instructions on the Help page','Textarea'), ('SelfCheckInModule', 0, NULL, 'Enable the standalone self-checkin module.', 'YesNo'), ('SelfCheckInTimeout','120','','Define the number of seconds before the self check-in module times out.','Integer'), ('SelfCheckInUserCSS','',NULL,'Add CSS to be included in the self check-in module in an embedded