@@ -, +, @@ preference - In the staff client go to Tools -> News and confirm that there is now an entry with the location "OpacNavRight_en" (assuming an "en" English interface). - Confirm that the previous contents of OpacNavRight were added correctly. - Go to Administration -> System preferences -> OPAC and verify that the OpacNavRight preference has been removed. - In the OPAC, confirm that the correct content is displayed in the region previously defined in the OpacNavRight system preference. - Test that the language and library-specific nature of news items is reflected in the behavior of this content area: - Define different text based on language and location. Confirm that switching translations and logging in to the OPAC both trigger the correct display of different content. --- .../bug_22313-move-opacnavright-to-news.perl | 18 +++++++++++++++ installer/data/mysql/sysprefs.sql | 1 - .../prog/en/modules/admin/preferences/opac.pref | 5 ----- .../prog/en/modules/tools/koha-news.tt | 26 ++++++++++++++++------ .../opac-tmpl/bootstrap/en/modules/opac-main.tt | 7 ++---- opac/opac-main.pl | 1 + 6 files changed, 40 insertions(+), 18 deletions(-) create mode 100644 installer/data/mysql/atomicupdate/bug_22313-move-opacnavright-to-news.perl --- a/installer/data/mysql/atomicupdate/bug_22313-move-opacnavright-to-news.perl +++ a/installer/data/mysql/atomicupdate/bug_22313-move-opacnavright-to-news.perl @@ -0,0 +1,18 @@ +$DBversion = 'XXX'; # will be replaced by the RM +if( CheckVersion( $DBversion ) ) { + my $opaclang = C4::Context->preference("opaclanguages"); + my @langs; + push @langs, split ( '\,', $opaclang ); + # Get any existing value from the OpacNavRight system preference + my ($OpacNavRight) = $dbh->selectrow_array( q| + SELECT value FROM systempreferences WHERE variable='OpacNavRight'; + |); + if( $OpacNavRight ){ + # If there is a value in the OpacNavRight preference, insert it into opac_news + $dbh->do("INSERT INTO opac_news (branchcode, lang, title, content ) VALUES (NULL, 'OpacNavRight_$langs[0]', '', '$OpacNavRight')"); + } + # Remove the OpacNavRight system preference + $dbh->do("DELETE FROM systempreferences WHERE variable='OpacNavRight'"); + SetVersion ($DBversion); + print "Upgrade to $DBversion done (Bug 22318: Move contents of OpacNavRight preference to Koha news system)\n"; +} --- a/installer/data/mysql/sysprefs.sql +++ a/installer/data/mysql/sysprefs.sql @@ -387,7 +387,6 @@ INSERT INTO systempreferences ( `variable`, `value`, `options`, `explanation`, ` ('OPACMySummaryNote','','','Note to display on the patron summary page. This note only appears if the patron is connected.','Free'), ('OpacNav','Important links here.','70|10','Use HTML tags to add navigational links to the left-hand navigational bar in OPAC','Textarea'), ('OpacNavBottom','Important links here.','70|10','Use HTML tags to add navigational links to the left-hand navigational bar in OPAC','Textarea'), -('OpacNavRight','','70|10','Show the following HTML in the right hand column of the main page under the main login form','Textarea'), ('OpacNewsLibrarySelect','0','','Show selector for branches on OPAC news page','YesNo'), ('OPACNoResultsFound','','70|10','Display this HTML when no results are found for a search in the OPAC','Textarea'), ('OPACNumbersPreferPhrase','0',NULL,'Control the use of phr operator in callnumber and standard number OPAC searches','YesNo'), --- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/opac.pref +++ a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/opac.pref @@ -224,11 +224,6 @@ OPAC: type: htmlarea class: code - - - "Show the following HTML in the right hand column of the main page under the main login form:" - - pref: OpacNavRight - type: htmlarea - class: code - - - "Show the following HTML on the left hand column of the main page and patron account on the OPAC, after OpacNav, and before patron account links if available:" - pref: OpacNavBottom type: htmlarea --- a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/koha-news.tt +++ a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/koha-news.tt @@ -39,8 +39,10 @@ Edit news item[% ELSE %]Add news item[% END %][% ELSE %]News[% END %] [% END %] [% IF ( add_form ) %] - [% IF ( op == 'add' ) %][% default_lang = lang | html %] - [% ELSE %][% default_lang = new_detail.lang | html %] + [% IF ( op == 'add' ) %] + [% default_lang = lang %] + [% ELSE %] + [% default_lang = new_detail.lang %] [% END %]
@@ -66,11 +68,21 @@ Edit news item[% ELSE %]Add news item[% END %][% ELSE %]News[% END %] [% END %] [% FOREACH lang_lis IN lang_list %] - [% IF ( lang_lis.language == default_lang ) %] - - [% ELSE %] - - [% END %] + + [% FOREACH location IN [ '', 'OpacNavRight' ] %] + [% IF ( location == '' ) %] + [% SET location_lang = lang_lis.language %] + [% SET location = "OPAC news" %] + [% ELSE %] + [% SET location_lang = location _ "_" _ lang_lis.language %] + [% END %] + [% IF ( location_lang == default_lang ) %] + + [% ELSE %] + + [% END %] + [% END %] + [% END %] --- a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-main.tt +++ a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-main.tt @@ -3,6 +3,7 @@ [% USE KohaDates %] [% USE Branches %] [% USE Price %] +[% USE KohaNews %] [% INCLUDE 'doc-head-open.inc' %] [% IF ( LibraryNameTitle ) %][% LibraryNameTitle | html %][% ELSE %]Koha online[% END %] catalog [% INCLUDE 'doc-head-close.inc' %] @@ -191,11 +192,7 @@ [% END %] [% END # /loggedinusername %] [% END # /opacuserlogin %] - [% IF ( OpacNavRight ) %] -
- [% OpacNavRight | $raw %] -
- [% END # /OpacNavRight %] + [% PROCESS koha_news_block news => KohaNews.get( location => "OpacNavRight", lang => news_lang, library => branchcode ) %] [% END # /opacuserlogin || OpacNavRight %] --- a/opac/opac-main.pl +++ a/opac/opac-main.pl @@ -104,6 +104,7 @@ if ( $patron ) { $template->param( koha_news => @all_koha_news, + news_lang => $news_lang, branchcode => $homebranch, display_daily_quote => C4::Context->preference('QuoteOfTheDay'), daily_quote => $quote, --