From e3ea5c2767ab996e167173d74d36d190b32903da Mon Sep 17 00:00:00 2001 From: Owen Leonard Date: Thu, 12 Oct 2023 18:01:04 +0000 Subject: [PATCH] Bug 35048: Convert SCOMainUserBlock system preference to HTML customization This patch moves the SCOMainUserBlock system preference into HTML customizations, making it possible to have language- and library-specific content. The patch also makes a minor fix to CSS in order to get the "Back to top" link to show up correctly in self-checkout and self-checkin. To test you should have some content in the SCOMainUserBlock 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 SCOMainUserBlock is now stored there. - The HTML customization entry form should offer SCOMainUserBlock 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 SCOMainUserBlock HTML customization and add unique content to the "fr-FR" tab. - Log into the self checkout system and confirm that the SCOMainUserBlock 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 "SCOMainUserBlock." It should return no results. Signed-off-by: Lucas Gass --- ...SCOMainUserBlock-to-additional-contents.pl | 32 +++++++++++++++++++ installer/data/mysql/mandatory/sysprefs.sql | 1 - .../admin/preferences/circulation.pref | 6 ---- .../en/modules/tools/additional-contents.tt | 2 +- .../opac-tmpl/bootstrap/css/src/_common.scss | 10 ++++++ .../opac-tmpl/bootstrap/css/src/opac.scss | 10 ------ .../bootstrap/en/modules/sco/sco-main.tt | 8 ++++- 7 files changed, 50 insertions(+), 19 deletions(-) create mode 100755 installer/data/mysql/atomicupdate/bug-35048-move-SCOMainUserBlock-to-additional-contents.pl diff --git a/installer/data/mysql/atomicupdate/bug-35048-move-SCOMainUserBlock-to-additional-contents.pl b/installer/data/mysql/atomicupdate/bug-35048-move-SCOMainUserBlock-to-additional-contents.pl new file mode 100755 index 00000000000..b3638081e30 --- /dev/null +++ b/installer/data/mysql/atomicupdate/bug-35048-move-SCOMainUserBlock-to-additional-contents.pl @@ -0,0 +1,32 @@ +use Modern::Perl; + +return { + bug_number => "35048", + description => "Move SCOMainUserBlock to additional contents", + up => sub { + my ($args) = @_; + my ( $dbh, $out ) = @$args{qw(dbh out)}; + + # Get any existing value from the SCOMainUserBlock system preference + my ($scomainuserblock) = $dbh->selectrow_array( + q| + SELECT value FROM systempreferences WHERE variable='SCOMainUserBlock'; + | + ); + if ($scomainuserblock) { + + # Insert any values found from system preference into additional_contents + foreach my $lang ('default') { + $dbh->do( + "INSERT INTO additional_contents ( category, code, location, branchcode, title, content, lang, published_on ) VALUES ('html_customizations', 'SCOMainUserBlock', 'SCOMainUserBlock', NULL, ?, ?, ?, CAST(NOW() AS date) )", + undef, "SCOMainUserBlock $lang", + $scomainuserblock, $lang + ); + } + + # Remove old system preference + $dbh->do("DELETE FROM systempreferences WHERE variable='SCOMainUserBlock'"); + say $out "Bug 35048 update done"; + } + } + } diff --git a/installer/data/mysql/mandatory/sysprefs.sql b/installer/data/mysql/mandatory/sysprefs.sql index 6aed5a753e2..b0e3e1e4057 100644 --- a/installer/data/mysql/mandatory/sysprefs.sql +++ b/installer/data/mysql/mandatory/sysprefs.sql @@ -644,7 +644,6 @@ INSERT INTO systempreferences ( `variable`, `value`, `options`, `explanation`, ` ('RoutingSerials','1',NULL,'If ON, serials routing is enabled','YesNo'), ('SavedSearchFilters', '0', NULL, 'Allow staff with permission to create/edit custom search filters', 'YesNo'), ('SCOAllowCheckin','0','','If enabled, patrons may return items through the Web-based Self Checkout','YesNo'), -('SCOMainUserBlock','','70|10','Add a block of HTML that will display on the self checkout screen','Textarea'), ('SCOUserCSS','',NULL,'Add CSS to be included in the SCO module in an embedded