From 4d644c6930bc200595fcaa2ed07999945ec10cd5 Mon Sep 17 00:00:00 2001 From: Nadia Nicolaides Date: Wed, 19 Dec 2012 15:52:34 -0300 Subject: [PATCH] Follow-up Bug 5634: Ordering branches should be case independent This patch fix the order of branches in the log-in page, on Branch.pm we added the variable branchcode to the hash returned by GetBranchesLoop, and this function is used on Auth.pm to get a list of branches ordered by branchname To test 1) Use an installation with some branches 2) On login screen the branches are ordered by branchcode 3) apply the patch 4) On login screen the branches are now ordered by branchname Signed-off-by: Chris Cormack Signed-off-by: Jonathan Druart This patch works as expected. Before applying the patch the branches with lower case was at the end of the list. Now they are well ordered. Signed-off-by: Jared Camins-Esakov --- C4/Auth.pm | 8 +------- C4/Branch.pm | 9 +++++---- 2 files changed, 6 insertions(+), 11 deletions(-) diff --git a/C4/Auth.pm b/C4/Auth.pm index 4ea03c0462..b32136a033 100644 --- a/C4/Auth.pm +++ b/C4/Auth.pm @@ -934,17 +934,11 @@ sub checkauth { my $value = $query->param($name); push @inputs, { name => $name, value => $value }; } - # get the branchloop, which we need for authentication - my $branches = GetBranches(); - my @branch_loop; - for my $branch_hash (sort keys %$branches) { - push @branch_loop, {branchcode => "$branch_hash", branchname => $branches->{$branch_hash}->{'branchname'}, }; - } my $template_name = ( $type eq 'opac' ) ? 'opac-auth.tmpl' : 'auth.tmpl'; my $template = C4::Templates::gettemplate($template_name, $type, $query ); $template->param( - branchloop => \@branch_loop, + branchloop => GetBranchesLoop(), opaccolorstylesheet => C4::Context->preference("opaccolorstylesheet"), opaclayoutstylesheet => C4::Context->preference("opaclayoutstylesheet"), login => 1, diff --git a/C4/Branch.pm b/C4/Branch.pm index d765c99238..fe67e0c175 100644 --- a/C4/Branch.pm +++ b/C4/Branch.pm @@ -160,11 +160,12 @@ sub GetBranchesLoop { # since this is what most pages want anyway my $onlymine = @_ ? shift : onlymine(); my $branches = GetBranches($onlymine); my @loop; - foreach ( sort { uc($branches->{$a}->{branchname}) cmp uc($branches->{$b}->{branchname}) } keys %$branches ) { + foreach my $branchcode ( sort { uc($branches->{$a}->{branchname}) cmp uc($branches->{$b}->{branchname}) } keys %$branches ) { push @loop, { - value => $_, - selected => ($_ eq $branch) ? 1 : 0, - branchname => $branches->{$_}->{branchname}, + value => $branchcode, + branchcode => $branchcode, + selected => ($branchcode eq $branch) ? 1 : 0, + branchname => $branches->{$branchcode}->{branchname}, }; } return \@loop; -- 2.39.5