Bugzilla – Attachment 145997 Details for
Bug 32775
Ordering when there are multiple languages within a language group is wrong
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 32775: Correctly display language order in sysprefs when you have multiple languages in a group
Bug-32775-Correctly-display-language-order-in-sysp.patch (text/plain), 2.56 KB, created by
Martin Renvoize (ashimema)
on 2023-02-02 12:50:23 UTC
(
hide
)
Description:
Bug 32775: Correctly display language order in sysprefs when you have multiple languages in a group
Filename:
MIME Type:
Creator:
Martin Renvoize (ashimema)
Created:
2023-02-02 12:50:23 UTC
Size:
2.56 KB
patch
obsolete
>From 8daad1ca1dc5d82d4b3a6d087f242b1ecbe3537f Mon Sep 17 00:00:00 2001 >From: Alex Buckley <alexbuckley@catalyst.net.nz> >Date: Wed, 1 Feb 2023 14:51:34 +1300 >Subject: [PATCH] Bug 32775: Correctly display language order in sysprefs when > you have multiple languages in a group > >Test plan: >1. Apply first patch >2. Install en-NZ and another language - e.g. mi-NZ - so you have three >languages showing in your sysprefs en-NZ (selected), en (unselected) and >mi-NZ (selected) >3. Tick en-NZ and mi-NZ in language and OPACLanguages sysprefs. Order >en-NZ above mi-NZ and save >4. Refresh the syspref page and confirm mi-NZ is displaying above en-NZ, >even though you ordered en-NZ first >5. Refresh the syspref page multiple times and observe the order of the >languages changes >6. Apply this (second) patch >7. Restart plack >8. Refresh syspref page several times confirming that en-NZ is always >ordered first - as expected. > >Sponsored-by: Kinder library, New Zealand >Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> >--- > C4/Languages.pm | 26 ++++++++++++++++++++++++-- > 1 file changed, 24 insertions(+), 2 deletions(-) > >diff --git a/C4/Languages.pm b/C4/Languages.pm >index 9dcd3cf337b..562050e3315 100644 >--- a/C4/Languages.pm >+++ b/C4/Languages.pm >@@ -371,8 +371,30 @@ sub _build_languages_arrayref { > > my %idx = map { $enabled_languages->[$_] => $_ } reverse 0 .. @$enabled_languages-1; > my @ordered_keys = sort { >- my $aa = $language_groups->{$a}->[0]->{rfc4646_subtag}; >- my $bb = $language_groups->{$b}->[0]->{rfc4646_subtag}; >+ my $aa = ''; >+ my $bb = ''; >+ my $acount = @{$language_groups->{$a}}; >+ my $bcount = @{$language_groups->{$b}}; >+ if ( $language_groups->{$a}->[0]->{enabled} ) { >+ $aa = $language_groups->{$a}->[0]->{rfc4646_subtag}; >+ } elsif ( $acount > 1 ) { >+ for ( my $i=1;$i<$acount;$i++ ) { >+ if ( $language_groups->{$a}->[$i]->{enabled} ) { >+ $aa = $language_groups->{$a}->[$i]->{rfc4646_subtag}; >+ last; >+ } >+ } >+ } >+ if ( $language_groups->{$b}->[0]->{enabled} ) { >+ $bb = $language_groups->{$b}->[0]->{rfc4646_subtag}; >+ } elsif ( $bcount > 1 ) { >+ for ( my $i=1;$i<$bcount;$i++ ) { >+ if ($language_groups->{$b}->[$i]->{enabled} ) { >+ $bb = $language_groups->{$b}->[$i]->{rfc4646_subtag}; >+ last; >+ } >+ } >+ } > ( exists $idx{$aa} and exists $idx{$bb} and ( $idx{$aa} cmp $idx{$bb} ) ) > || ( exists $idx{$aa} and exists $idx{$bb} ) > || exists $idx{$bb} >-- >2.39.1
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 32775
:
145918
|
145919
|
145983
|
145984
|
145996
|
145997
|
145998
|
146194
|
146195
|
146196
|
146569
|
146570
|
146571
|
146572
|
146573
|
146574
|
146575
|
146576
|
148392
|
148393
|
148394
|
148395
|
148396
|
148397