fixing re-sorting in staff client
authorJoshua Ferraro <jmf@liblime.com>
Mon, 29 Oct 2007 22:42:29 +0000 (17:42 -0500)
committerJoshua Ferraro <jmf@liblime.com>
Mon, 29 Oct 2007 22:45:18 +0000 (17:45 -0500)
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
C4/Search.pm
catalogue/search.pl
koha-tmpl/intranet-tmpl/prog/en/includes/resort_form.inc [new file with mode: 0644]
koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/advsearch.tmpl
koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/results.tmpl

index 4027d35..1df61cf 100644 (file)
@@ -342,16 +342,47 @@ sub getRecords {
         my $sort_by;
         foreach my $sort (@sort_by) {
             if ($sort eq "author_az") {
-                $sort_by.="1=1003 &lt;i ";
+                $sort_by.="1=1003 <i ";
             }
             elsif ($sort eq "author_za") {
-                $sort_by.="1=1003 &gt;i ";
+                $sort_by.="1=1003 >i ";
+            }
+                       elsif ($sort eq "popularity_asc") {
+                               $sort_by.="1=9003 <i ";
+                       }
+                       elsif ($sort eq "popularity_dsc") {
+                $sort_by.="1=9003 >i ";
+            }
+                       elsif ($sort eq "call_number_asc") {
+                $sort_by.="1=20  <i ";
+            }
+                       elsif ($sort eq "call_number_dsc") {
+                $sort_by.="1=20 >i ";
+            }
+                       elsif ($sort eq "pubdate_asc") {
+                $sort_by.="1=31 <i ";
+            }
+                       elsif ($sort eq "pubdate_dsc") {
+                $sort_by.="1=31 >i ";
+            }
+                       elsif ($sort eq "acqdate_asc") {
+                $sort_by.="1=32 <i ";
+            }
+                       elsif ($sort eq "acqdate_dsc") {
+                $sort_by.="1=32 >i ";
+            }
+                       elsif ($sort eq "title_az") {
+                $sort_by.="1=4 <i ";
+            }
+                       elsif ($sort eq "title_za") {
+                $sort_by.="1=4 >i ";
             }
-
-            #$sort_by .= $sort . " ";    # used to be $sort,
         }
-               warn "SORTING: $sort_by";
-        $results[$i]->sort( "yaz", $sort_by ) if $sort_by;
+               if ($sort_by) {
+                       if ( $results[$i]->sort( "yaz", $sort_by ) < 0) {
+                       warn "WARNING sort $sort_by failed";
+                       }
+               }
     }
     while ( ( my $i = ZOOM::event( \@zconns ) ) != 0 ) {
         my $ev = $zconns[ $i - 1 ]->last_event();
index 825101a..0879c02 100755 (executable)
@@ -343,7 +343,12 @@ my $params = $cgi->Vars;
 # sort by is used to sort the query
 my @sort_by;
 @sort_by = split("\0",$params->{'sort_by'}) if $params->{'sort_by'};
-#
+
+# FIXME: this is a quick hack
+foreach my $sort (@sort_by) {
+       $template->param($sort => 1);
+}
+
 # Use the servers defined, or just search our local catalog(default)
 my @servers;
 @servers = split("\0",$params->{'server'}) if $params->{'server'};
diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/resort_form.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/resort_form.inc
new file mode 100644 (file)
index 0000000..f46e239
--- /dev/null
@@ -0,0 +1,14 @@
+                        <option value="">Field-weighted, Relevance Ranked</option>
+                        <option value="popularity_dsc" <!-- TMPL_IF NAME="popularity_dsc" -->selected="selected" <!-- /TMPL_IF -->>Popularity (Most to Least)</option>
+                        <option value="popularity_asc" <!-- TMPL_IF NAME="popularity_asc" -->selected="selected" <!-- /TMPL_IF -->>Popularity (Least to Most)</option>
+                        <option value="author_az" <!-- TMPL_IF NAME="author_az" -->selected="selected" <!-- /TMPL_IF -->>Author (A-Z)</option>
+                        <option value="author_za" <!-- TMPL_IF NAME="author_za" -->selected="selected" <!-- /TMPL_IF -->>Author (Z-A)</option>
+                        <option value="call_number_asc" <!-- TMPL_IF NAME="call_number_asc" -->selected="selected" <!-- /TMPL_IF -->>Call Number (Non-fiction 0-9 to Fiction A-Z)</option>
+                        <option value="call_number_dsc" <!-- TMPL_IF NAME="call_number_dsc" -->selected="selected" <!-- /TMPL_IF -->>Call Number (Fiction Z-A to Non-fiction 9-0)</option>
+                        <option value="pubdate_asc" <!-- TMPL_IF NAME="pubdate_asc" -->selected="selected" <!-- /TMPL_IF -->>Dates</option>
+                        <option value="pubdate_asc" <!-- TMPL_IF NAME="pubdate_asc" -->selected="selected" <!-- /TMPL_IF -->>&nbsp;&nbsp;&nbsp;Publication/Copyright Date: Newest to Oldest</option>
+                        <option value="pubdate_dsc" <!-- TMPL_IF NAME="pubdate_dsc" -->selected="selected" <!-- /TMPL_IF -->>&nbsp;&nbsp;&nbsp;Publication/Copyright Date: Oldest to Newest</option>
+                        <option value="acqdate_asc" <!-- TMPL_IF NAME="acqdate_asc" -->selected="selected" <!-- /TMPL_IF -->>&nbsp;&nbsp;&nbsp;Acquisition Date: Newest to Oldest</option>
+                        <option value="acqdate_dsc" <!-- TMPL_IF NAME="acqdate_dsc" -->selected="selected" <!-- /TMPL_IF -->>&nbsp;&nbsp;&nbsp;Acquisition Date: Oldest to Newest</option>
+                        <option value="title_az" <!-- TMPL_IF NAME="title_az" -->selected="selected" <!-- /TMPL_IF -->>Title (A-Z)</option>
+                        <option value="title_za" <!-- TMPL_IF NAME="title_za" -->selected="selected" <!-- /TMPL_IF -->>Title (Z-A)</option>
index 3824ed8..6df5d5e 100644 (file)
 <!-- /AVAILABILITY LIMITS -->
 
 <!-- RANK LIMITS -->
+
 <fieldset><legend>Sort by: </legend>
     <p><select id="sort_by" name="sort_by">
-        <option value="">Field-weighted, Relevance Ranked</option>
-        <!--TMPL_IF Name="9523a"-->
-          <option value="1=9523 &gt;i" selected="selected">Popularity (Most to Least)</option>
-        <!--TMPL_ELSE -->
-          <option value="1=9523 &gt;i">Popularity (Most to Least)</option>
-        <!--/TMPL_IF-->
-        <!--TMPL_IF Name="9523d"-->
-          <option value="1=9523 &lt;i" selected="selected">Popularity (Least to Most)</option>
-        <!--TMPL_ELSE -->
-          <option value="1=9523 &lt;i">Popularity (Least to Most)</option>
-        <!--/TMPL_IF-->
-        <!--TMPL_IF Name="1003d"-->
-          <option value="1=1003 &lt;i" selected="selected">Author (A-Z)</option>
-        <!--TMPL_ELSE -->
-          <option value="1=1003 &lt;i">Author (A-Z)</option>
-        <!--/TMPL_IF-->
-        <!--TMPL_IF Name="1003a"-->
-         <option value="1=1003 &gt;i" selected="selected">Author (Z-A)</option>
-        <!--TMPL_ELSE -->
-         <option value="1=1003 &gt;i">Author (Z-A)</option>
-        <!--/TMPL_IF-->
-        <!--TMPL_IF Name="20d"-->
-          <option value="1=20 &lt;i" selected="selected">Call Number (Non-fiction 0-9 to Fiction A-Z)</option>
-        <!--TMPL_ELSE -->
-          <option value="1=20 &lt;i">Call Number (Non-fiction 0-9 to Fiction A-Z)</option>
-        <!--/TMPL_IF-->
-        <!--TMPL_IF Name="20a"-->
-          <option value="1=20 &gt;i" selected="selected">Call Number (Fiction Z-A to Non-fiction 9-0)</option>
-        <!--TMPL_ELSE -->
-          <option value="1=20 &gt;i">Call Number (Fiction Z-A to Non-fiction 9-0)</option>
-        <!--/TMPL_IF-->
-        <!--TMPL_IF Name="31a"-->
-          <option value="1=31 &gt;i" selected="selected">Dates</option>
-        <!--TMPL_ELSE -->
-          <option value="1=31 &gt;i">Dates</option>
-        <!--/TMPL_IF-->
-        <!--TMPL_IF Name="31a"-->
-          <option value="1=31 &gt;i" selected="selected">&nbsp;&nbsp;&nbsp;Publication/Copyright Date: Newest to Oldest</option>
-        <!--TMPL_ELSE -->
-          <option value="1=31 &gt;i">&nbsp;&nbsp;&nbsp;Publication/Copyright Date: Newest to Oldest</option>
-        <!--/TMPL_IF-->
-        <!--TMPL_IF Name="31d"-->
-          <option value="1=31 &lt;i">&nbsp;&nbsp;&nbsp;Publication/Copyright Date: Oldest to Newest</option>
-        <!--TMPL_ELSE -->
-          <option value="1=31 &lt;i">&nbsp;&nbsp;&nbsp;Publication/Copyright Date: Oldest to Newest</option>
-        <!--/TMPL_IF-->
-        <!--TMPL_IF Name="32a"-->
-          <option value="1=32 &gt;i" selected="selected">&nbsp;&nbsp;&nbsp;Acquisition Date: Newest to Oldest</option>
-        <!--TMPL_ELSE -->
-          <option value="1=32 &gt;i">&nbsp;&nbsp;&nbsp;Acquisition Date: Newest to Oldest</option>
-        <!--/TMPL_IF-->
-        <!--TMPL_IF Name="32d"-->
-          <option value="1=32 &lt;i" selected="selected">&nbsp;&nbsp;&nbsp;Acquisition Date: Oldest to Newest</option>
-        <!--TMPL_ELSE -->
-          <option value="1=32 &lt;i">&nbsp;&nbsp;&nbsp;Acquisition Date: Oldest to Newest</option>
-        <!--/TMPL_IF-->
-        <!--TMPL_IF Name="4d"-->
-          <option value="1=4 &lt;i" selected="selected">Title (A-Z)</option>
-        <!--TMPL_ELSE -->
-          <option value="1=4 &lt;i">Title (A-Z)</option>
-        <!--/TMPL_IF-->
-        <!--TMPL_IF Name="4a"-->
-          <option value="1=4 &gt;i" selected="selected">Title (Z-A)</option>
-        <!--TMPL_ELSE -->
-          <option value="1=4 &gt;i">Title (Z-A)</option>
-        <!--/TMPL_IF-->
+       <!-- TMPL_INCLUDE NAME="resort_form.inc" -->
     </select>
         </p>
 </fieldset>
index 492011c..d3b3bb2 100644 (file)
             <!-- ######### -->
 
             <div id="searchresults">
-              <form action="/cgi-bin/koha/catalogue/search.pl" method="get" name="myform" id="mainform">
+                               <form action="/cgi-bin/koha/catalogue/search.pl" method="get" name="myform" id="mainform">
                 <!-- TMPL_IF NAME="searchdesc" -->
                     <input type="hidden" name="q" value="<!-- TMPL_VAR NAME="searchdesc" escape="html" -->" />
                 <!-- /TMPL_IF -->
-                    <!-- RE-SORT START -->
+                               <!-- RE-SORT START -->
                     <p>
                     Re-sort results
                     <select id="sort_by" name="sort_by" onchange="document.myform.submit();">
-                        <option value="">Field-weighted, Relevance Ranked</option>
-        <!--TMPL_IF Name="9523a"-->
-          <option value="1=9523 &gt;i" selected="selected">Popularity (Most to Least)</option>
-        <!--TMPL_ELSE -->
-          <option value="1=9523 &gt;i">Popularity (Most to Least)</option>
-        <!--/TMPL_IF-->
-        <!--TMPL_IF Name="9523d"-->
-          <option value="1=9523 &lt;i" selected="selected">Popularity (Least to Most)</option>
-        <!--TMPL_ELSE -->
-          <option value="1=9523 &lt;i">Popularity (Least to Most)</option>
-        <!--/TMPL_IF-->
-        <!--TMPL_IF Name="1003d"-->
-          <option value="1=1003 &lt;i" selected="selected">Author (A-Z)</option>
-        <!--TMPL_ELSE -->
-          <option value="1=1003 &lt;i">Author (A-Z)</option>
-        <!--/TMPL_IF-->
-        <!--TMPL_IF Name="1003a"-->
-         <option value="1=1003 &gt;i" selected="selected">Author (Z-A)</option>
-        <!--TMPL_ELSE -->
-         <option value="1=1003 &gt;i">Author (Z-A)</option>
-        <!--/TMPL_IF-->
-        <!--TMPL_IF Name="20d"-->
-          <option value="1=20 &lt;i" selected="selected">Call Number (Non-fiction 0-9 to Fiction A-Z)</option>
-        <!--TMPL_ELSE -->
-          <option value="1=20 &lt;i">Call Number (Non-fiction 0-9 to Fiction A-Z)</option>
-        <!--/TMPL_IF-->
-        <!--TMPL_IF Name="20a"-->
-          <option value="1=20 &gt;i" selected="selected">Call Number (Fiction Z-A to Non-fiction 9-0)</option>
-        <!--TMPL_ELSE -->
-          <option value="1=20 &gt;i">Call Number (Fiction Z-A to Non-fiction 9-0)</option>
-        <!--/TMPL_IF-->
-        <!--TMPL_IF Name="31a"-->
-          <option value="1=31 &gt;i" selected="selected">Dates</option>
-        <!--TMPL_ELSE -->
-          <option value="1=31 &gt;i">Dates</option>
-        <!--/TMPL_IF-->
-        <!--TMPL_IF Name="31a"-->
-          <option value="1=31 &gt;i" selected="selected">&nbsp;&nbsp;&nbsp;Publication/Copyright Date: Newest to Oldest</option>
-        <!--TMPL_ELSE -->
-          <option value="1=31 &gt;i">&nbsp;&nbsp;&nbsp;Publication/Copyright Date: Newest to Oldest</option>
-        <!--/TMPL_IF-->
-        <!--TMPL_IF Name="31d"-->
-          <option value="1=31 &lt;i">&nbsp;&nbsp;&nbsp;Publication/Copyright Date: Oldest to Newest</option>
-        <!--TMPL_ELSE -->
-          <option value="1=31 &lt;i">&nbsp;&nbsp;&nbsp;Publication/Copyright Date: Oldest to Newest</option>
-        <!--/TMPL_IF-->
-        <!--TMPL_IF Name="32a"-->
-          <option value="1=32 &gt;i" selected="selected">&nbsp;&nbsp;&nbsp;Acquisition Date: Newest to Oldest</option>
-        <!--TMPL_ELSE -->
-          <option value="1=32 &gt;i">&nbsp;&nbsp;&nbsp;Acquisition Date: Newest to Oldest</option>
-        <!--/TMPL_IF-->
-        <!--TMPL_IF Name="32d"-->
-          <option value="1=32 &lt;i" selected="selected">&nbsp;&nbsp;&nbsp;Acquisition Date: Oldest to Newest</option>
-        <!--TMPL_ELSE -->
-          <option value="1=32 &lt;i">&nbsp;&nbsp;&nbsp;Acquisition Date: Oldest to Newest</option>
-        <!--/TMPL_IF-->
-        <!--TMPL_IF Name="4d"-->
-          <option value="1=4 &lt;i" selected="selected">Title (A-Z)</option>
-        <!--TMPL_ELSE -->
-          <option value="1=4 &lt;i">Title (A-Z)</option>
-        <!--/TMPL_IF-->
-        <!--TMPL_IF Name="4a"-->
-          <option value="1=4 &gt;i" selected="selected">Title (Z-A)</option>
-        <!--TMPL_ELSE -->
-          <option value="1=4 &gt;i">Title (Z-A)</option>
-        <!--/TMPL_IF-->
-                    </select>
+                                       <!-- TMPL_INCLUDE NAME="resort_form.inc" -->
+                                       </select>
                     </p>
                     <!-- RESORT END -->
-              </form>
+                               </form>
+       
                     <!-- TABLE RESULTS START -->
 
                 <table>