From 12bb9ad2fa567e37074031ef5b31fe8c1aa39074 Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Wed, 17 Jun 2020 12:20:36 +0200 Subject: [PATCH] Bug 18911: Add the ability to set the preferred lang for notice at the OPAC Patron should be allowed to modify this setting without asking a staff member. The setting is not configurable and cannot be hidden via a syspref. Test plan: - Turn the pref TranslateNotices on - Install some languages - Edit your messaging settings at the OPAC => Notice the "Preferred language for notices" dropdown list - Select one => Confirm that the value is saved in DB --- .../bootstrap/en/modules/opac-messaging.tt | 29 +++++++++++++++++++ opac/opac-messaging.pl | 12 ++++++++ 2 files changed, 41 insertions(+) diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-messaging.tt b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-messaging.tt index 7fd4786503..a387ed4c29 100644 --- a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-messaging.tt +++ b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-messaging.tt @@ -153,6 +153,35 @@ Please contact a library staff member if you are unsure of your mobile service provider, or you do not see your provider in this list. [% END %] + + [% IF Koha.Preference('TranslateNotices') %] +
    +
  1. + + +
  2. +
+ [% END #/IF Koha.Preference('TranslateNotices') %] +
diff --git a/opac/opac-messaging.pl b/opac/opac-messaging.pl index 210f9446c0..689ce94e09 100755 --- a/opac/opac-messaging.pl +++ b/opac/opac-messaging.pl @@ -69,6 +69,10 @@ if ( defined $query->param('modify') && $query->param('modify') eq 'yes' ) { })->store; C4::Form::MessagingPreferences::handle_form_action($query, { borrowernumber => $patron->borrowernumber }, $template); + + if ( C4::Context->preference('TranslateNotices') ) { + $patron->set({ lang => scalar $query->param('lang') })->store; + } } C4::Form::MessagingPreferences::set_form_values({ borrowernumber => $patron->borrowernumber }, $template); @@ -91,4 +95,12 @@ $template->param( }), ); +if ( C4::Context->preference('TranslateNotices') ) { + my $translated_languages = C4::Languages::getTranslatedLanguages( 'opac', C4::Context->preference('template') ); + $template->param( + languages => $translated_languages, + patron_lang => $patron->lang, + ); +} + output_html_with_http_headers $query, $cookie, $template->output, undef, { force_no_caching => 1 }; -- 2.20.1