浏览代码

[search] sort should not appear in query if empty

Romain Rigaux 12 年之前
父节点
当前提交
928e7ff
共有 1 个文件被更改,包括 10 次插入10 次删除
  1. 10 10
      apps/search/src/search/templates/index.mako

+ 10 - 10
apps/search/src/search/templates/index.mako

@@ -85,24 +85,24 @@ ${ commonheader(_('Search'), "search", user, "40px") | n,unicode }
           % for group, count in macros.pairwise(fld['counts']):
           % for group, count in macros.pairwise(fld['counts']):
             %if count > 0 and group != "" and found_value == "":
             %if count > 0 and group != "" and found_value == "":
               % if fld['type'] == 'field':
               % if fld['type'] == 'field':
-                <li><a href="?cores=${ current_cores }&query=${ solr_query['q'] }&fq=${ solr_query['fq'] }|${ fld['field'] }:${ group }${solr_query.get("sort") and '&sort=' + solr_query.get("sort")}">${group}</a> <span class="counter">(${ count })</span></li>
+                <li><a href="?cores=${ current_cores }&query=${ solr_query['q'] }&fq=${ solr_query['fq'] }|${ fld['field'] }:${ group }${solr_query.get("sort") and '&sort=' + solr_query.get("sort") or ''}">${group}</a> <span class="counter">(${ count })</span></li>
               % endif
               % endif
               % if fld['type'] == 'range':
               % if fld['type'] == 'range':
-                <li><a href="?cores=${ current_cores }&query=${ solr_query['q'] }&fq=${ solr_query['fq'] }|${ fld['field'] }:[${ group } TO ${ str(int(group) + int(fld['gap']) - 1) }]${solr_query.get("sort") and '&sort=' + solr_query.get("sort")}">${ group } (${ count })</a></li>
+                <li><a href="?cores=${ current_cores }&query=${ solr_query['q'] }&fq=${ solr_query['fq'] }|${ fld['field'] }:[${ group } TO ${ str(int(group) + int(fld['gap']) - 1) }]${solr_query.get("sort") and '&sort=' + solr_query.get("sort") or ''}">${ group } (${ count })</a></li>
               % endif
               % endif
               % if fld['type'] == 'date':
               % if fld['type'] == 'date':
-                <li class="dateFacetItem"><a href='?cores=${ current_cores }&query=${ solr_query['q'] }&fq=${ solr_query['fq'] }|${ fld['field'] }:"${ group }"${solr_query.get("sort") and '&sort=' + solr_query.get("sort")}'><span class="dateFacet">${ group }</span> (${ count })</a></li>
+                <li class="dateFacetItem"><a href='?cores=${ current_cores }&query=${ solr_query['q'] }&fq=${ solr_query['fq'] }|${ fld['field'] }:"${ group }"${solr_query.get("sort") and '&sort=' + solr_query.get("sort") or ''}'><span class="dateFacet">${ group }</span> (${ count })</a></li>
               % endif
               % endif
             %endif
             %endif
             % if found_value != "":
             % if found_value != "":
               % if fld['type'] == 'field' and group == found_value:
               % if fld['type'] == 'field' and group == found_value:
-                <li><strong>${ group }</strong> <a href="?cores=${ current_cores }&query=${ solr_query['q'] }&fq=${'|'.join(remove_list)}${solr_query.get("sort") and '&sort=' + solr_query.get("sort")}"><i class="icon-remove"></i></a></li>
+                <li><strong>${ group }</strong> <a href="?cores=${ current_cores }&query=${ solr_query['q'] }&fq=${'|'.join(remove_list)}${solr_query.get("sort") and '&sort=' + solr_query.get("sort") or ''}"><i class="icon-remove"></i></a></li>
               %endif
               %endif
               % if fld['type'] == 'range' and "[" + group + " TO " + str(int(group) + int(fld['gap']) - 1) + "]" == found_value:
               % if fld['type'] == 'range' and "[" + group + " TO " + str(int(group) + int(fld['gap']) - 1) + "]" == found_value:
-                <li><strong>${ group }</strong> <a href="?cores=${ current_cores }&query=${ solr_query['q'] }&fq=${'|'.join(remove_list)}${solr_query.get("sort") and '&sort=' + solr_query.get("sort")}"><i class="icon-remove"></i></a></li>
+                <li><strong>${ group }</strong> <a href="?cores=${ current_cores }&query=${ solr_query['q'] }&fq=${'|'.join(remove_list)}${solr_query.get("sort") and '&sort=' + solr_query.get("sort") or ''}"><i class="icon-remove"></i></a></li>
               %endif
               %endif
               % if fld['type'] == 'date' and '"' + group + '"' == found_value:
               % if fld['type'] == 'date' and '"' + group + '"' == found_value:
-                <li><strong><span class="dateFacet">${group}</span></strong> <a href="?cores=${ current_cores }&query=${ solr_query['q'] }&fq=${'|'.join(remove_list)}${solr_query.get("sort") and '&sort=' + solr_query.get("sort")}"><i class="icon-remove"></i></a></li>
+                <li><strong><span class="dateFacet">${group}</span></strong> <a href="?cores=${ current_cores }&query=${ solr_query['q'] }&fq=${'|'.join(remove_list)}${solr_query.get("sort") and '&sort=' + solr_query.get("sort") or ''}"><i class="icon-remove"></i></a></li>
               %endif
               %endif
             %endif
             %endif
           % endfor
           % endfor
@@ -213,15 +213,15 @@ ${ commonheader(_('Search'), "search", user, "40px") | n,unicode }
           %>
           %>
           % if int(solr_query["start"]) > 0:
           % if int(solr_query["start"]) > 0:
             <li>
             <li>
-              <a title="${_('Beginning of List')}" href="?query=${solr_query["q"]}&fq=${solr_query["fq"]}${solr_query.get("sort") and '&sort=' + solr_query.get("sort")}&rows=${solr_query["rows"]}&start=${beginning}">&larr; ${_('Beginning of List')}</a>
+              <a title="${_('Beginning of List')}" href="?query=${solr_query["q"]}&fq=${solr_query["fq"]}${solr_query.get("sort") and '&sort=' + solr_query.get("sort") or ''}&rows=${solr_query["rows"]}&start=${beginning}">&larr; ${_('Beginning of List')}</a>
             </li>
             </li>
             <li>
             <li>
-              <a title="Previous Page" href="?query=${solr_query["q"]}&fq=${solr_query["fq"]}${solr_query.get("sort") and '&sort=' + solr_query.get("sort")}&rows=${solr_query["rows"]}&start=${previous}">${_('Previous Page')}</a>
+              <a title="Previous Page" href="?query=${solr_query["q"]}&fq=${solr_query["fq"]}${solr_query.get("sort") and '&sort=' + solr_query.get("sort") or ''}&rows=${solr_query["rows"]}&start=${previous}">${_('Previous Page')}</a>
             </li>
             </li>
           % endif
           % endif
           % if end_record < int(response["response"]["numFound"]):
           % if end_record < int(response["response"]["numFound"]):
             <li>
             <li>
-              <a title="Next page" href="?query=${solr_query["q"]}&fq=${solr_query["fq"]}${solr_query.get("sort") and '&sort=' + solr_query.get("sort")}&rows=${solr_query["rows"]}&start=${next}">${_('Next Page')}</a>
+              <a title="Next page" href="?query=${solr_query["q"]}&fq=${solr_query["fq"]}${solr_query.get("sort") and '&sort=' + solr_query.get("sort") or ''}&rows=${solr_query["rows"]}&start=${next}">${_('Next Page')}</a>
             </li>
             </li>
           % endif
           % endif
         </ul>
         </ul>
@@ -311,7 +311,7 @@ ${ hue_core.result.get_extracode() | n,unicode }
       if ($(".sort-by").val() == "") {
       if ($(".sort-by").val() == "") {
         _sort = "";
         _sort = "";
       }
       }
-      location.href = "?query=${solr_query["q"]}&fq=${solr_query["fq"]}&sort=" + _sort + "&rows=${solr_query["rows"]}&start=${solr_query["start"]}";
+      location.href = "?query=${solr_query["q"]}&fq=${solr_query["fq"]}&rows=${solr_query["rows"]}&start=${solr_query["start"]}" + _sort != "" ? "&sort=" + _sort : "";
     });
     });
 
 
     $("#id_query").on("click", function (e) {
     $("#id_query").on("click", function (e) {