[Koha-patches] [Signed Off] [PATCH] BUG6092 default sort field and order when syspref are NULL

Chris Cormack chrisc at catalyst.net.nz
Tue May 17 10:05:52 CEST 2011


From: Fridolyn SOMERS <fridolyn.somers at progilone.fr>


Signed-off-by: Chris Cormack <chrisc at catalyst.net.nz>
---
 catalogue/search.pl                                |   10 +++++-----
 .../en/modules/admin/preferences/searching.pref    |    2 ++
 opac/opac-search.pl                                |   10 +++++-----
 3 files changed, 12 insertions(+), 10 deletions(-)

diff --git a/catalogue/search.pl b/catalogue/search.pl
index e1e9a98..ae1218a 100755
--- a/catalogue/search.pl
+++ b/catalogue/search.pl
@@ -193,6 +193,11 @@ if($cgi->cookie("holdfor")){
     );
 }
 
+# Default sort field and order
+my $default_sort_field = C4::Context->preference('defaultSortField') || 'relevance'; # relevance field by default
+my $default_sort_order = C4::Context->preference('defaultSortOrder') || 'dsc'; # decreasing order by default
+my $default_sort_by = $default_sort_field.'_'.$default_sort_order;
+
 ## URI Re-Writing
 # Deprecated, but preserved because it's interesting :-)
 # The same thing can be accomplished with mod_rewrite in
@@ -289,8 +294,6 @@ if ( $template_type eq 'advsearch' ) {
     $template->param(outer_sup_servers_loop => $secondary_servers_loop,);
 
     # set the default sorting
-    my $default_sort_by = C4::Context->preference('defaultSortField')."_".C4::Context->preference('defaultSortOrder')
-        if (C4::Context->preference('OPACdefaultSortField') && C4::Context->preference('OPACdefaultSortOrder'));
     $template->param($default_sort_by => 1);
 
     # determine what to display next to the search boxes (ie, boolean option
@@ -354,9 +357,6 @@ my $params = $cgi->Vars;
 # sort by is used to sort the query
 # in theory can have more than one but generally there's just one
 my @sort_by;
-my $default_sort_by = C4::Context->preference('defaultSortField')."_".C4::Context->preference('defaultSortOrder') 
-    if (C4::Context->preference('defaultSortField') && C4::Context->preference('defaultSortOrder'));
-
 @sort_by = split("\0",$params->{'sort_by'}) if $params->{'sort_by'};
 $sort_by[0] = $default_sort_by unless $sort_by[0];
 foreach my $sort (@sort_by) {
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/searching.pref b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/searching.pref
index 12075ec..476e3c1 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/searching.pref
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/searching.pref
@@ -100,6 +100,7 @@ Searching:
                   author: author
             - ','
             - pref: defaultSortOrder
+              default: dsc
               choices:
                   asc: ascending.
                   dsc: descending.
@@ -132,6 +133,7 @@ Searching:
                   author: author
             - ","
             - pref: OPACdefaultSortOrder
+              default: dsc
               choices:
                   asc: ascending.
                   dsc: descending.
diff --git a/opac/opac-search.pl b/opac/opac-search.pl
index 68018b6..c51d71f 100755
--- a/opac/opac-search.pl
+++ b/opac/opac-search.pl
@@ -118,6 +118,11 @@ if (C4::Context->preference('TagsEnabled')) {
 	}
 }
 
+# Default sort field and order
+my $default_sort_field = C4::Context->preference('OPACdefaultSortField') || 'relevance'; # relevance field by default
+my $default_sort_order = C4::Context->preference('OPACdefaultSortOrder') || 'dsc'; # decreasing order by default
+my $default_sort_by = $default_sort_field.'_'.$default_sort_order;
+
 ## URI Re-Writing
 # Deprecated, but preserved because it's interesting :-)
 # The same thing can be accomplished with mod_rewrite in
@@ -207,8 +212,6 @@ if ( $template_type && $template_type eq 'advsearch' ) {
     $template->param(outer_sup_servers_loop => $secondary_servers_loop,);
 
     # set the default sorting
-    my $default_sort_by = C4::Context->preference('OPACdefaultSortField')."_".C4::Context->preference('OPACdefaultSortOrder') 
-        if (C4::Context->preference('OPACdefaultSortField') && C4::Context->preference('OPACdefaultSortOrder'));
     $template->param($default_sort_by => 1);
 
     # determine what to display next to the search boxes (ie, boolean option
@@ -273,9 +276,6 @@ $tag = $params->{tag} if $params->{tag};
 # sort by is used to sort the query
 # in theory can have more than one but generally there's just one
 my @sort_by;
-my $default_sort_by = C4::Context->preference('OPACdefaultSortField')."_".C4::Context->preference('OPACdefaultSortOrder') 
-    if (C4::Context->preference('OPACdefaultSortField') && C4::Context->preference('OPACdefaultSortOrder'));
-
 @sort_by = split("\0",$params->{'sort_by'}) if $params->{'sort_by'};
 $sort_by[0] = $default_sort_by if !$sort_by[0] && defined($default_sort_by);
 foreach my $sort (@sort_by) {
-- 
1.7.4.1



More information about the Koha-patches mailing list