diff --git a/admin/issuingrules.pl b/admin/issuingrules.pl
index 54d6b79b69..26cec089c3 100755
--- a/admin/issuingrules.pl
+++ b/admin/issuingrules.pl
@@ -76,7 +76,7 @@ if ($op eq 'save') {
}
my $branches = GetBranches;
my @branchloop;
-foreach my $thisbranch (keys %$branches) {
+for my $thisbranch (sort { $branches->{$a}->{branchname} cmp $branches->{$b}->{branchname} } keys %$branches) {
my $selected = 1 if $thisbranch eq $branch;
my %row =(value => $thisbranch,
selected => $selected,
diff --git a/admin/smart-rules.pl b/admin/smart-rules.pl
index fed2edd8f6..01dbb60d55 100755
--- a/admin/smart-rules.pl
+++ b/admin/smart-rules.pl
@@ -78,7 +78,7 @@ elsif ($op eq 'add') {
}
my $branches = GetBranches();
my @branchloop;
-foreach my $thisbranch (keys %$branches) {
+for my $thisbranch (sort { $branches->{$a}->{branchname} cmp $branches->{$b}->{branchname} } keys %$branches) {
my $selected = 1 if $thisbranch eq $branch;
my %row =(value => $thisbranch,
selected => $selected,
diff --git a/catalogue/search.pl b/catalogue/search.pl
index b6c09134cc..10ec0e39a6 100755
--- a/catalogue/search.pl
+++ b/catalogue/search.pl
@@ -208,7 +208,7 @@ if (C4::Context->preference("marcflavour") eq "UNIMARC" ) {
my $branches = GetBranches();
my @branch_loop;
-for my $branch_hash (sort keys %$branches) {
+for my $branch_hash (sort { $branches->{$a}->{branchname} cmp $branches->{$b}->{branchname} } keys %$branches) {
push @branch_loop, {value => "$branch_hash" , branchname => $branches->{$branch_hash}->{'branchname'}, };
}
diff --git a/circ/selectbranchprinter.pl b/circ/selectbranchprinter.pl
index 17a89efb32..f7173a1148 100755
--- a/circ/selectbranchprinter.pl
+++ b/circ/selectbranchprinter.pl
@@ -67,7 +67,7 @@ my $oldprinter = $printer;
my $branchcount = 0;
my $printercount = 0;
my @branchloop;
-foreach my $br ( sort keys %$branches ) {
+for my $br (sort { $branches->{$a}->{branchname} cmp $branches->{$b}->{branchname} } keys %$branches) {
next unless $br =~ /\S/; # next unless $br is not blank.
$branchcount++;
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/holidays.tmpl b/koha-tmpl/intranet-tmpl/prog/en/modules/tools/holidays.tmpl
index c0c9d2449f..b1d0b9c097 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/holidays.tmpl
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/tools/holidays.tmpl
@@ -153,7 +153,17 @@ h1 select { width: 20em; }
-
Define the holidays for branch
+Define the holidays for :
+
+
- Search in the calendar the day you want to set as holiday.
- Complete the information in the right area.
diff --git a/members/memberentry.pl b/members/memberentry.pl
index 9d282cd7fc..ba6b9d7814 100755
--- a/members/memberentry.pl
+++ b/members/memberentry.pl
@@ -455,7 +455,7 @@ my $onlymine=(C4::Context->preference('IndependantBranches') &&
my $branches=GetBranches($onlymine);
my $default;
-foreach my $branch (sort keys %$branches) {
+for my $branch (sort { $branches->{$a}->{branchname} cmp $branches->{$b}->{branchname} } keys %$branches) {
push @select_branch,$branch;
$select_branches{$branch} = $branches->{$branch}->{'branchname'};
$default = C4::Context->userenv->{'branch'} if (C4::Context->userenv && C4::Context->userenv->{'branch'});
diff --git a/serials/subscription-add.pl b/serials/subscription-add.pl
index d7cd4fff79..a4b40eab95 100755
--- a/serials/subscription-add.pl
+++ b/serials/subscription-add.pl
@@ -99,7 +99,7 @@ my $onlymine=C4::Context->preference('IndependantBranches') &&
C4::Context->userenv->{branch};
my $branches = GetBranches($onlymine);
my @branchloop;
-foreach my $thisbranch (keys %$branches) {
+for my $thisbranch (sort { $branches->{$a}->{branchname} cmp $branches->{$b}->{branchname} } keys %$branches) {
my $selected = 1 if $thisbranch eq C4::Context->userenv->{'branch'};
my %row =(value => $thisbranch,
selected => $selected,
diff --git a/tools/holidays.pl b/tools/holidays.pl
index c87964aed6..21e791ccba 100755
--- a/tools/holidays.pl
+++ b/tools/holidays.pl
@@ -22,7 +22,7 @@ use CGI;
use C4::Auth;
use C4::Output;
-
+use C4::Branch; # GetBranches
use C4::Calendar;
my $input = new CGI;
@@ -43,30 +43,25 @@ my ($template, $loggedinuser, $cookie)
});
# Set all the branches.
-my $branches = $dbh->prepare("select branchcode, branchname from branches");
-$branches->execute;
-# It creates a list of branches
-my %list;
-while (my ($branchcode, $branchname) = $branches->fetchrow) {
- $list{$branchcode} = $branchname;
-}
-my @listValues = keys(%list);
-if (!defined($branch)) {
- $branch =$listValues[4];
-}
-my $branchesList = CGI::scrolling_list(-name => 'branch',
- -values => \@listValues,
- -labels => \%list,
- -size => 1,
- -default => [$branch],
- -multiple => 0,
- -id => "branch");
-
-$branches->finish;
-
+my $onlymine=(C4::Context->preference('IndependantBranches') &&
+ C4::Context->userenv &&
+ C4::Context->userenv->{flags} !=1 &&
+ C4::Context->userenv->{branch}?1:0);
if ( C4::Context->preference("IndependantBranches") ) {
$branch = C4::Context->userenv->{'branch'};
}
+my $branches = GetBranches($onlymine);
+my @branchloop;
+for my $thisbranch (sort { $branches->{$a}->{branchname} cmp $branches->{$b}->{branchname} } keys %$branches) {
+ my $selected = 1 if $thisbranch eq $branch;
+ my %row =(value => $thisbranch,
+ selected => $selected,
+ branchname => $branches->{$thisbranch}->{'branchname'},
+ );
+ push @branchloop, \%row;
+}
+
+
# Get all the holidays
my $calendar = C4::Calendar->new(branchcode => $branch);
@@ -111,20 +106,13 @@ foreach my $yearMonthDay (keys %$single_holidays) {
push @holidays, \%holiday;
}
-# Replace the template values with the real ones
-# If we have independent branches on we need to only let the user set holidays for their branch
-# (except if the user is superlibrarian, in which case he can choose the branch anyway)
-if ( C4::Context->preference("IndependantBranches") && !(C4::Context->userenv->{'flags'} % 2) ) {
- $template->param(BRANCHES => C4::Context->userenv->{'branchname'}."");
-}
-else {
- $template->param(BRANCHES => $branchesList);
-}
-$template->param(WEEK_DAYS_LOOP => \@week_days);
-$template->param(HOLIDAYS_LOOP => \@holidays);
-$template->param(EXCEPTION_HOLIDAYS_LOOP => \@exception_holidays);
-$template->param(DAY_MONTH_HOLIDAYS_LOOP => \@day_month_holidays);
-$template->param(branch => $branch);
+$template->param(WEEK_DAYS_LOOP => \@week_days,
+ branchloop => \@branchloop,
+ HOLIDAYS_LOOP => \@holidays,
+ EXCEPTION_HOLIDAYS_LOOP => \@exception_holidays,
+ DAY_MONTH_HOLIDAYS_LOOP => \@day_month_holidays,
+ branch => $branch
+ );
# Shows the template with the real values replaced
output_html_with_http_headers $input, $cookie, $template->output;