Bug 20504: Fix lang attribute in html tag on systempreferences page
authorKatrin Fischer <katrin.fischer.83@web.de>
Thu, 9 Aug 2018 17:46:09 +0000 (17:46 +0000)
committerNick Clemens <nick@bywatersolutions.com>
Wed, 22 Aug 2018 12:12:59 +0000 (12:12 +0000)
On the system preferences page the lang attribute of the
html tag is always empty.

To test:
- Go to systempreferences
- Check the html source and look at the html tag,
  it should read: <html lang="">
- Apply patch
- Check the html source again: <html lang="en">
  Verify the language code shown matches the currently
  selected language in the staff interface
- Verify the language system preferences work correctly

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
The problem was actually that
  $lang = $template->param( 'lang' );
should certainly be $lang = $input->param( 'lang' );
and, as it, it overrides the value of 'lang' passed from C4::Auth

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>

admin/preferences.pl

index 988753a..03d0934 100755 (executable)
@@ -35,7 +35,6 @@ use YAML::Syck qw();
 use List::MoreUtils qw(any);
 $YAML::Syck::ImplicitTyping = 1;
 $YAML::Syck::ImplicitUnicode = 1;
-our $lang;
 
 # use Smart::Comments;
 #
@@ -81,7 +80,7 @@ sub _get_chunk {
             $interface = 'intranet';
             $theme     = C4::Context->preference('template');
         }
-        $chunk->{'languages'} = getTranslatedLanguages( $interface, $theme, $lang, $current_languages );
+        $chunk->{'languages'} = getTranslatedLanguages( $interface, $theme, undef, $current_languages );
         $chunk->{'type'} = 'languages';
     } elsif ( $options{ 'choices' } ) {
         if ( $options{'choices'} && ref( $options{ 'choices' } ) eq '' ) {
@@ -306,7 +305,6 @@ my ( $template, $borrowernumber, $cookie ) = get_template_and_user(
     }
 );
 
-$lang = $template->param( 'lang' );
 my $op = $input->param( 'op' ) || '';
 my $tab = $input->param( 'tab' );
 $tab ||= 'acquisitions'; # Ideally this should be "local-use" but preferences.pl