From 27e245f098b3e7a7e746bc33bc060b489909d79b Mon Sep 17 00:00:00 2001
From: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Date: Wed, 4 Dec 2019 15:44:53 +0100
Subject: [PATCH] Bug 24170: Fix sysprefs search result order
Content-Type: text/plain; charset=utf-8

The same sysprefs search will not always return the results in the same
order.
If you search for 'd' in the "search system preferences" box
  /cgi-bin/koha/admin/preferences.pl?op=search&searchfield=d
you will see that the modules are not ordered consistently.

This patch makes them display alphabetically

Test plan:
Search the same string several times in the syspref list.
The search result should always be ordered the same way

Signed-off-by: cori <corilynn.arnold@gmail.com>

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
---
 admin/preferences.pl | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/admin/preferences.pl b/admin/preferences.pl
index 92c5bbee72..d6cc707f43 100755
--- a/admin/preferences.pl
+++ b/admin/preferences.pl
@@ -229,7 +229,7 @@ sub SearchPrefs {
     my %tab_files = _get_pref_files( $input );
     our @terms = split( /\s+/, $searchfield );
 
-    foreach my $tab_name ( keys %tab_files ) {
+    foreach my $tab_name ( sort keys %tab_files ) {
         # Force list context to remove 'uninitialized value in goto' warn coming from YAML::Syck; note that the other GetTab call is in list context too. The actual cause however is the null value for the pref OpacRenewalBranch in opac.pref
         my ($data) = GetTab( $input, $tab_name );
         my $title = ( keys( %$data ) )[0];
-- 
2.11.0