From cfe71bde53e3c482f01705d083c16a09e663d8be 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 Signed-off-by: Katrin Fischer (cherry picked from commit baea457996ac42d20d163f8e774e15ba652d1437) Signed-off-by: Fridolin Somers --- 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 8d0184e751..3199bdb890 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 b0e743152e..b0b4a85ad3 100755 --- a/members/memberentry.pl +++ b/members/memberentry.pl @@ -908,7 +908,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 beed148061..84681825da 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 a3eab4d74f..2ac4315cbe 100755 --- a/opac/opac-messaging.pl +++ b/opac/opac-messaging.pl @@ -90,7 +90,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 3a5967ee7d..1e7247a10e 100755 --- a/t/db_dependent/Languages.t +++ b/t/db_dependent/Languages.t @@ -50,7 +50,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; @@ -58,7 +58,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;