Bug 35063: Convert SelfCheckInMainUserBlock system preference to HTML customization

This patch moves the SelfCheckInMainUserBlock system preference into
HTML customizations, making it possible to have language- and
library-specific content.

To test you should have some content in the SelfCheckInMainUserBlock
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 SelfCheckInMainUserBlock is now stored there.
- The HTML customization entry form should offer
  SelfCheckInMainUserBlock 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 SelfCheckInMainUserBlock HTML customization and add unique
  content to the "fr-FR" tab.

- Log into the self check-in system and confirm that the
  SelfCheckInMainUserBlock 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
  "SelfCheckInMainUserBlock." It should return no results.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This commit is contained in:
Owen Leonard 2023-10-16 15:16:22 +00:00 committed by Tomas Cohen Arazi
parent 7b19633209
commit 71834ac9e1
Signed by: tomascohen
GPG key ID: 0A272EA1B2F3C15F
5 changed files with 48 additions and 11 deletions

View file

@ -0,0 +1,40 @@
use Modern::Perl;
return {
bug_number => "35063",
description => "Move SelfCheckInMainUserBlock to additional contents",
up => sub {
my ($args) = @_;
my ( $dbh, $out ) = @$args{qw(dbh out)};
# Get any existing value from the SelfCheckInMainUserBlock system preference
my ($scimainuserblock) = $dbh->selectrow_array(
q|
SELECT value FROM systempreferences WHERE variable='SelfCheckInMainUserBlock';
|
);
if ($scimainuserblock) {
$dbh->do(
"INSERT INTO additional_contents ( category, code, location, branchcode, published_on ) VALUES ('html_customizations', 'SelfCheckInMainUserBlock', 'SelfCheckInMainUserBlock', NULL, CAST(NOW() AS date) )"
);
my ($insert_id) = $dbh->selectrow_array(
"SELECT id FROM additional_contents WHERE category = 'html_customizations' AND code = 'SelfCheckInMainUserBlock' AND location = 'SelfCheckInMainUserBlock' LIMIT 1",
{}
);
$dbh->do(
"INSERT INTO additional_contents_localizations ( additional_content_id, title, content, lang ) VALUES ( ?, 'SelfCheckInMainUserBlock default', ?, 'default' )",
undef, $insert_id, $scimainuserblock
);
say $out "Added 'SelfCheckInMainUserBlock' HTML customization";
}
# Remove old system preference
$dbh->do("DELETE FROM systempreferences WHERE variable='SelfCheckInMainUserBlock'");
say $out "Removed system preference 'SelfCheckInMainUserBlock'";
},
};

View file

@ -665,7 +665,6 @@ INSERT INTO systempreferences ( `variable`, `value`, `options`, `explanation`, `
('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 <code>192.168.1.1 192.168.0.0/24</code>.)','Short'),
('SelfCheckHelpMessage','','70|10','Enter HTML to include under the basic Web-based Self Checkout instructions on the Help page','Textarea'),
('SelfCheckInMainUserBlock','','70|10','Add a block of HTML that will display on the self check-in screen.','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 <style> tag.','free'),

View file

@ -1113,12 +1113,6 @@ Circulation:
type: textarea
class: code
Self check-in module:
-
- "Include the following HTML on the self check-in screen:"
- pref: SelfCheckInMainUserBlock
type: textarea
syntax: text/html
class: code
-
- pref: SelfCheckInModule
choices:

View file

@ -524,7 +524,7 @@
[% END %]
[% END %]
[% ELSE %]
[% SET opac_available_options = [ 'OpacNavRight', 'opacheader', 'OpacCustomSearch', 'OpacMainUserBlock', 'opaccredits', 'OpacLoginInstructions', 'OpacNav', 'OpacNavBottom', 'OpacSuggestionInstructions', 'ArticleRequestsDisclaimerText', 'OpacMoreSearches', 'OpacMySummaryNote', 'OpacLibraryInfo', 'OpacMaintenanceNotice', 'OPACResultsSidebar', 'OpacSuppressionMessage', 'SCOMainUserBlock', 'CatalogConcernHelp', 'CatalogConcernTemplate', 'CookieConsentBar', 'CookieConsentPopup', 'PatronSelfRegistrationAdditionalInstructions' ] %]
[% SET opac_available_options = [ 'OpacNavRight', 'opacheader', 'OpacCustomSearch', 'OpacMainUserBlock', 'opaccredits', 'OpacLoginInstructions', 'OpacNav', 'OpacNavBottom', 'OpacSuggestionInstructions', 'ArticleRequestsDisclaimerText', 'OpacMoreSearches', 'OpacMySummaryNote', 'OpacLibraryInfo', 'OpacMaintenanceNotice', 'OPACResultsSidebar', 'OpacSuppressionMessage', 'SCOMainUserBlock', 'SelfCheckInMainUserBlock', 'CatalogConcernHelp', 'CatalogConcernTemplate', 'CookieConsentBar', 'CookieConsentPopup', 'PatronSelfRegistrationAdditionalInstructions' ] %]
<optgroup label="OPAC">
[% FOREACH l IN opac_available_options.sort %]
[% IF l == location %]

View file

@ -22,6 +22,7 @@
[% END %]
[% PROCESS 'html_helpers.inc' %]
[% SET OpacHeader = AdditionalContents.get( location => "opacheader", lang => lang, library => logged_in_user.branchcode || default_branch, blocktitle => 0 ) %]
[% SET SelfCheckInMainUserBlock = AdditionalContents.get( location => "SelfCheckInMainUserBlock", lang => lang, library => logged_in_user.branchcode || default_branch, blocktitle => 0 ) %]
[% INCLUDE 'doc-head-open.inc' %]
[% SET OpacLangSelectorMode = Koha.Preference('OpacLangSelectorMode') %]
<title>Self check-in &rsaquo; [% IF ( LibraryNameTitle ) %][% LibraryNameTitle | html %][% ELSE %]Koha [% END %]</title>
@ -163,13 +164,16 @@
</form> <!-- /#scan_form -->
</div> <!-- / #new_checkins -->
[% END # /IF ( nopermission ) %]
[% IF ( SelfCheckInMainUserBlock ) %]
<div id="scimainuserblock">
[% PROCESS koha_news_block news => SelfCheckInMainUserBlock %]
</div>
[% END %]
</div> <!-- / #masthead -->
</div> <!-- / .row -->
</div> <!-- / .container-fluid -->
[% IF ( Koha.Preference('SelfCheckInMainUserBlock') ) %]
<div id="SelfCheckInMainUserBlock">[% Koha.Preference('SelfCheckInMainUserBlock' ) | $raw %]</div>
[% END %]
</div> <!-- / .main -->
[% # Help modal %]