Bug 23795: Convert opaccredits system preference to news block

This patch builds on Bug 22318 to move the opaccredits system
preference into the Koha news system, making it possible to have
language- and library-specific content.

To test you should have some content in the opaccredits system
preference. Apply the patch and run the database update process.

 - Go to the OPAC and confirm that the content which was previously in
   the opaccredits system preference now displays correctly where
   it was before.
 - In the staff client, go to Tools -> News and verify that the content
   from opaccredits is now stored in news items. There should be
   one entry for each of the enabled translations in your system, for
   instance 'opaccredits_en', 'opaccredits_fr-FR',
   'opaccredits_cs-CZ'
 - Go to Administration -> System preferences and confirm that the
   opaccredits preference has been removed.

Signed-off-by: Sally <sally.healey@cheshiresharedservices.gov.uk>
Signed-off-by: Alex Arnaud <alex.arnaud@biblibre.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
This commit is contained in:
Owen Leonard 2019-12-11 17:03:01 +00:00 committed by Jonathan Druart
parent bd9ece8c19
commit c9eb2be381
6 changed files with 36 additions and 14 deletions

View file

@ -581,7 +581,6 @@ sub get_template_and_user {
hidelostitems => C4::Context->preference("hidelostitems"),
mylibraryfirst => ( C4::Context->preference("SearchMyLibraryFirst") && C4::Context->userenv ) ? C4::Context->userenv->{'branch'} : '',
opacbookbag => "" . C4::Context->preference("opacbookbag"),
opaccredits => "" . C4::Context->preference("opaccredits"),
OpacFavicon => C4::Context->preference("OpacFavicon"),
opaclanguagesdisplay => "" . C4::Context->preference("opaclanguagesdisplay"),
opacreadinghistory => C4::Context->preference("opacreadinghistory"),
@ -1256,7 +1255,6 @@ sub checkauth {
opacuserlogin => C4::Context->preference("opacuserlogin"),
OpacNav => C4::Context->preference("OpacNav"),
OpacNavBottom => C4::Context->preference("OpacNavBottom"),
opaccredits => C4::Context->preference("opaccredits"),
OpacFavicon => C4::Context->preference("OpacFavicon"),
opacreadinghistory => C4::Context->preference("opacreadinghistory"),
opaclanguagesdisplay => C4::Context->preference("opaclanguagesdisplay"),

View file

@ -0,0 +1,30 @@
$DBversion = 'XXX'; # will be replaced by the RM
if( CheckVersion( $DBversion ) ) {
# get list of installed translations
require C4::Languages;
my @langs;
my $tlangs = C4::Languages::getTranslatedLanguages();
foreach my $language ( @$tlangs ) {
foreach my $sublanguage ( @{$language->{'sublanguages_loop'}} ) {
push @langs, $sublanguage->{'rfc4646_subtag'};
}
}
# Get any existing value from the opaccredits system preference
my ($opaccredits) = $dbh->selectrow_array( q|
SELECT value FROM systempreferences WHERE variable='opaccredits';
|);
if( $opaccredits ){
foreach my $lang ( @langs ) {
print "Inserting opaccredits contents into $lang news item...\n";
# If there is a value in the opaccredits preference, insert it into opac_news
$dbh->do("INSERT INTO opac_news (branchcode, lang, title, content ) VALUES (NULL, ?, '', ?)", undef, "opaccredits_$lang", $opaccredits);
}
}
# Remove the opaccredits system preference
$dbh->do("DELETE FROM systempreferences WHERE variable='opaccredits'");
SetVersion ($DBversion);
print "Upgrade to $DBversion done (Bug 23795: Convert OpacCredits system preference to news block)\n";
}

View file

@ -379,7 +379,6 @@ INSERT INTO systempreferences ( `variable`, `value`, `options`, `explanation`, `
('OpacCoce','0', NULL, 'If on, enables cover retrieval from the configured Coce server in the OPAC', 'YesNo'),
('OPACCustomCoverImages','0',NULL,'If enabled, the custom cover images will be displayed at the OPAC. CustomCoverImagesURL must be defined.','YesNo'),
('OpacCustomSearch','','70|10','Replace the search box on the OPAC with the provided HTML','Textarea'),
('opaccredits','','70|10','Define HTML Credits at the bottom of the OPAC page','Textarea'),
('OPACdefaultSortField','relevance','relevance|popularity|call_number|pubdate|acqdate|title|author','Specify the default field used for sorting','Choice'),
('OPACdefaultSortOrder','dsc','asc|dsc|za|az','Specify the default sort order','Choice'),
('OPACdidyoumean','',NULL,'Did you mean? configuration for the OPAC. Do not change, as this is controlled by /cgi-bin/koha/admin/didyoumean.pl.','Free'),

View file

@ -251,12 +251,6 @@ OPAC:
type: textarea
syntax: text/html
class: code
-
- "Include the following HTML in the footer of all pages in the OPAC:"
- pref: opaccredits
type: textarea
syntax: text/html
class: code
-
- 'Include a "More Searches" box on the detail pages of items on the OPAC, with the following HTML (leave blank to disable):'
- '<br />Note: The placeholders {BIBLIONUMBER}, {CONTROLNUMBER}, {TITLE}, {ISBN}, {ISSN} and {AUTHOR} will be replaced with information from the displayed record.'

View file

@ -332,7 +332,7 @@ Edit news item[% ELSE %]Add news item[% END %][% ELSE %]News[% END %]</div>
[% END %]
[% FOREACH lang_lis IN lang_list %]
<optgroup label="[% lang_lis.language | html %]">
[% FOREACH location IN [ '', 'OpacNavRight', 'opacheader', 'OpacMainUserBlock' ] %]
[% FOREACH location IN [ '', 'OpacNavRight', 'opacheader', 'OpacMainUserBlock', 'opaccredits' ] %]
[% IF ( location == '' ) %]
[% SET location_lang = lang_lis.language %]
[% location = BLOCK %]OPAC news[% END %]

View file

@ -1,16 +1,17 @@
[% USE raw %]
[% USE Koha %]
[% USE KohaNews %]
[%- USE KohaPlugins -%]
[% USE Asset %]
[% SET opaccredits = KohaNews.get( location => "opaccredits", lang => lang, library => branchcode ) %]
[% PROCESS 'html_helpers.inc' %]
[% UNLESS ( is_popup ) %]
[% SET OpacLangSelectorMode = Koha.Preference('OpacLangSelectorMode') %]
[% IF ( opaccredits ) %]
<div class="container-fluid">
<div class="row-fluid">
<div class="span12">
<div id="opaccredits" class="noprint">
[% opaccredits | $raw %]
</div>
<div id="opaccredits">
[% PROCESS koha_news_block news => opaccredits %]
</div>
</div>
</div>