From cd31d8aa22997a731afd55ad519ad9a30f16faee 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 Signed-off-by: Katrin Fischer Signed-off-by: Tomas Cohen Arazi --- ...CheckHelpMessage-to-additional-contents.pl | 41 +++++++++++++++++++ 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, 45 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..69fdcd98c7 --- /dev/null +++ b/installer/data/mysql/atomicupdate/bug-35065-move-SelfCheckHelpMessage-to-additional-contents.pl @@ -0,0 +1,41 @@ +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 + ); + + say $out "Added 'SelfCheckHelpMessage' HTML customization"; + } + + # Remove old system preference + $dbh->do("DELETE FROM systempreferences WHERE variable='SelfCheckHelpMessage'"); + say $out "Removed system preference 'SelfCheckHelpMessage'"; + + }, +}; diff --git a/installer/data/mysql/mandatory/sysprefs.sql b/installer/data/mysql/mandatory/sysprefs.sql index a11fce06fa..091159c3d2 100644 --- a/installer/data/mysql/mandatory/sysprefs.sql +++ b/installer/data/mysql/mandatory/sysprefs.sql @@ -664,7 +664,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