Bug 24170: Fix sysprefs search result order
authorJonathan Druart <jonathan.druart@bugs.koha-community.org>
Wed, 4 Dec 2019 14:44:53 +0000 (15:44 +0100)
committerMartin Renvoize <martin.renvoize@ptfs-europe.com>
Fri, 13 Dec 2019 14:05:17 +0000 (14:05 +0000)
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>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

admin/preferences.pl

index 92c5bbe..d6cc707 100755 (executable)
@@ -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];