From d5623cbda1bce5d43beef00f19c6d3be236f652f Mon Sep 17 00:00:00 2001 From: Marcel de Rooy Date: Thu, 16 Jan 2025 09:26:40 +0000 Subject: [PATCH] Bug 38903: Fix theme in some getTranslatedLanguages calls Combining opac with pref template is wrong. This pref should actually be renamed to something like intranetTheme(s) or so. Replacing the obsolete prog theme in Languages.t by undef. This achieves the same: getting all themes for that interface. Test plan: Add some languages for opac and intranet. Do not enable exactly the same set. Enable TranslateNotices. Verify that you have all OPAC languages on memberentry and opac-messaging. And all languages on additional contents. Run t/db_dependent/Languages.t Signed-off-by: Marcel de Rooy Tested with: OPAC languages: en, nl-NL, de-DE Staff languages: en, de-DE, fr-FR Signed-off-by: Martin Renvoize --- Koha/Notice/Template.pm | 6 ++---- members/memberentry.pl | 2 +- opac/opac-memberentry.pl | 2 +- opac/opac-messaging.pl | 2 +- t/db_dependent/Languages.t | 4 ++-- 5 files changed, 7 insertions(+), 9 deletions(-) diff --git a/Koha/Notice/Template.pm b/Koha/Notice/Template.pm index 8d0184e7513..3199bdb890f 100644 --- a/Koha/Notice/Template.pm +++ b/Koha/Notice/Template.pm @@ -44,10 +44,8 @@ sub get_default { my $self = shift; my $lang = $self->lang; if ( $lang eq 'default' ) { - my $translated_languages = C4::Languages::getTranslatedLanguages( - 'opac', - C4::Context->preference('template') - ); + my $translated_languages = + C4::Languages::getTranslatedLanguages( 'opac', C4::Context->preference('opacthemes') ); $lang = @{ @{$translated_languages}[0]->{sublanguages_loop} }[0]->{rfc4646_subtag}; } diff --git a/members/memberentry.pl b/members/memberentry.pl index c2df4523366..5f1fa4fba72 100755 --- a/members/memberentry.pl +++ b/members/memberentry.pl @@ -934,7 +934,7 @@ if ( defined $min ) { } if ( C4::Context->preference('TranslateNotices') ) { - my $translated_languages = C4::Languages::getTranslatedLanguages( 'opac', C4::Context->preference('template') ); + my $translated_languages = C4::Languages::getTranslatedLanguages( 'opac', C4::Context->preference('opacthemes') ); $template->param( languages => $translated_languages ); } diff --git a/opac/opac-memberentry.pl b/opac/opac-memberentry.pl index 34ee2762f50..b89ddbc547e 100755 --- a/opac/opac-memberentry.pl +++ b/opac/opac-memberentry.pl @@ -100,7 +100,7 @@ if ( defined $min ) { ); } -my $translated_languages = C4::Languages::getTranslatedLanguages( 'opac', C4::Context->preference('template') ); +my $translated_languages = C4::Languages::getTranslatedLanguages( 'opac', C4::Context->preference('opacthemes') ); $template->param( op => $op, diff --git a/opac/opac-messaging.pl b/opac/opac-messaging.pl index 1a311cf1577..66f070c6774 100755 --- a/opac/opac-messaging.pl +++ b/opac/opac-messaging.pl @@ -97,7 +97,7 @@ if ( $opac_messaging && C4::Context->preference("SMSSendDriver") eq 'Email' ) { my $new_session_id = $query->cookie('CGISESSID'); if ( C4::Context->preference('TranslateNotices') ) { - my $translated_languages = C4::Languages::getTranslatedLanguages( 'opac', C4::Context->preference('template') ); + my $translated_languages = C4::Languages::getTranslatedLanguages( 'opac', C4::Context->preference('opacthemes') ); $template->param( languages => $translated_languages, patron_lang => $patron->lang, diff --git a/t/db_dependent/Languages.t b/t/db_dependent/Languages.t index baac53b541f..53b608e9cb4 100755 --- a/t/db_dependent/Languages.t +++ b/t/db_dependent/Languages.t @@ -56,7 +56,7 @@ $languages = C4::Languages::getLanguages( 'eng', 1 ); is( scalar(@$languages), 2, 'getLanguages() filtering using AdvancedSearchLanguages works' ); my $translatedlanguages1; -warnings_are { $translatedlanguages1 = C4::Languages::getTranslatedLanguages( 'opac', 'prog' ) } +warnings_are { $translatedlanguages1 = C4::Languages::getTranslatedLanguages('opac') } [], 'no warnings for calling getTranslatedLanguages'; my @currentcheck1 = map { $_->{current} } @$translatedlanguages1; @@ -64,7 +64,7 @@ my $onlyzeros = first { $_ != 0 } @currentcheck1; ok( !$onlyzeros, "Everything was zeros.\n" ); my $translatedlanguages2; -warnings_are { $translatedlanguages2 = C4::Languages::getTranslatedLanguages( 'opac', 'prog', 'en' ) } +warnings_are { $translatedlanguages2 = C4::Languages::getTranslatedLanguages( 'opac', undef, 'en' ) } [], 'no warnings for calling getTranslatedLanguages'; my @currentcheck2 = map { $_->{current} } @$translatedlanguages2; -- 2.48.1