From c87385942339e2ff2bae240a685accdad5f76dd8 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 Signed-off-by: Katrin Fischer Signed-off-by: Tomas Cohen Arazi --- ...SCOMainUserBlock-to-additional-contents.pl | 41 +++++++++++++++++++ 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, 59 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 0000000000..0cc554b074 --- /dev/null +++ b/installer/data/mysql/atomicupdate/bug-35048-move-SCOMainUserBlock-to-additional-contents.pl @@ -0,0 +1,41 @@ +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 + $dbh->do( + "INSERT INTO additional_contents ( category, code, location, branchcode, published_on ) VALUES ('html_customizations', 'SCOMainUserBlock', 'SCOMainUserBlock', NULL, CAST(NOW() AS date) )" + ); + + my ($insert_id) = $dbh->selectrow_array( + "SELECT id FROM additional_contents WHERE category = 'html_customizations' AND code = 'SCOMainUserBlock' AND location = 'SCOMainUserBlock' LIMIT 1", + {} + ); + + $dbh->do( + "INSERT INTO additional_contents_localizations ( additional_content_id, title, content, lang ) VALUES ( ?, 'SCOMainUserBlock default', ?, 'default' )", + undef, $insert_id, $scomainuserblock + ); + + say $out "Added 'SCOMainUserBlock' HTML customization"; + } + + # Remove old system preference + $dbh->do("DELETE FROM systempreferences WHERE variable='SCOMainUserBlock'"); + say $out "Removed system preference 'SCOMainUserBlock'"; + + }, +}; diff --git a/installer/data/mysql/mandatory/sysprefs.sql b/installer/data/mysql/mandatory/sysprefs.sql index 58dee00d65..c0591dae8f 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`, ` ('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'), ('SCOLoadCheckoutsByDefault','1','','If enabled, load the list of a patrons checkouts when they log in to the 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