]> git.xonotic.org Git - xonotic/xonstat.git/commitdiff
Add basic search to the index pages.
authorAnt Zucaro <azucaro@gmail.com>
Thu, 22 Dec 2011 22:00:34 +0000 (17:00 -0500)
committerAnt Zucaro <azucaro@gmail.com>
Thu, 22 Dec 2011 22:00:34 +0000 (17:00 -0500)
xonstat/templates/map_index.mako
xonstat/templates/navlinks.mako
xonstat/templates/player_index.mako
xonstat/templates/search.mako [changed mode: 0644->0755]
xonstat/templates/server_index.mako
xonstat/views/search.py [changed mode: 0644->0755]

index 13eaf4cc24a00e5f4a8501d338ae6d403db38e34..f98e3d4cf8d26cab91cb81614658eb38388f2ec2 100755 (executable)
@@ -10,6 +10,11 @@ Map Index - ${parent.title()}
 \r
 % else:\r
 <h2>Map Index</h2>\r
+<form method="get" action="${request.route_url('search')}">\r
+    <input type="hidden" name="fs" />\r
+    <input type="text" name="map_name" />\r
+    <input type="submit" value="search" />\r
+</form>\r
 <table id="map-index-table" border="1">\r
   <tr>\r
     <th>Name</th>\r
index a907e71cd5fddc9ac71182b239a91694bbdf19f8..a529eb445153fd34c171de802dc01b8ba02d450e 100755 (executable)
@@ -1,41 +1,41 @@
 <%def name="navlinks(view, curr, last)">
+% if curr != last:
+    % if curr != 1:
+    <a class="pagination" href="${request.route_url(view, page=curr-1)}" name="Previous Page">previous</a>
+    % endif
 
-% if curr != 1:
-<a class="pagination" href="${request.route_url(view, page=curr-1)}" name="Previous Page">previous</a>
-% endif
-
-% if last < 8:
-    % for i in range(1, last+1):
-    ${link_page(view, i, curr)}
-    % endfor
-% else:
-    % if curr < 5:
-        % for i in range(1,7):
-        ${link_page(view, i, curr)}
-        % endfor
-        <span class="pagination">...</span>
-        <a class="pagination" href="${request.route_url(view, page=last)}" name="Last Page">${last}</a>
-    % elif last-curr < 6:
-        <a class="pagination" href="${request.route_url(view, page=1)}" name="First Page">1</a>
-        <span class="pagination">...</span>
-        % for i in range(last-5, last+1):
+    % if last < 8:
+        % for i in range(1, last+1):
         ${link_page(view, i, curr)}
         % endfor
     % else:
-        <a class="pagination" href="${request.route_url(view, page=1)}" name="First Page">1</a>
-        <span class="pagination">...</span>
-        % for i in range(curr-2, curr+3):
-        ${link_page(view, i, curr)}
-        % endfor
-        <span class="pagination">...</span>
-        <a class="pagination" href="${request.route_url(view, page=last)}" name="Last Page">${last}</a>
+        % if curr < 5:
+            % for i in range(1,7):
+            ${link_page(view, i, curr)}
+            % endfor
+            <span class="pagination">...</span>
+            <a class="pagination" href="${request.route_url(view, page=last)}" name="Last Page">${last}</a>
+        % elif last-curr < 6:
+            <a class="pagination" href="${request.route_url(view, page=1)}" name="First Page">1</a>
+            <span class="pagination">...</span>
+            % for i in range(last-5, last+1):
+            ${link_page(view, i, curr)}
+            % endfor
+        % else:
+            <a class="pagination" href="${request.route_url(view, page=1)}" name="First Page">1</a>
+            <span class="pagination">...</span>
+            % for i in range(curr-2, curr+3):
+            ${link_page(view, i, curr)}
+            % endfor
+            <span class="pagination">...</span>
+            <a class="pagination" href="${request.route_url(view, page=last)}" name="Last Page">${last}</a>
+        % endif
     % endif
-% endif
 
-% if curr != last:
-<a class="pagination" href="${request.route_url(view, page=curr+1)}" name="Next Page">next</a>
+    % if curr != last:
+    <a class="pagination" href="${request.route_url(view, page=curr+1)}" name="Next Page">next</a>
+    % endif
 % endif
-
 </%def>
 
 <%def name="link_page(view, page_num, curr_page)">
index 9784a6c9894a3152f3175096383c07340597d3d7..1aa38b5ec6399086afd0e318a7e11a6ebe344a77 100755 (executable)
@@ -10,6 +10,11 @@ Player Index - ${parent.title()}
 \r
 % else:\r
 <h2>Player Index</h2>\r
+<form method="get" action="${request.route_url('search')}">\r
+    <input type="hidden" name="fs" />\r
+    <input type="text" name="nick" />\r
+    <input type="submit" value="search" />\r
+</form>\r
 <table id="player-index-table" border="1">\r
   <tr>\r
     <th>Nick</th>\r
old mode 100644 (file)
new mode 100755 (executable)
index 64e5ced..cceeacb
@@ -1,8 +1,9 @@
 <%inherit file="base.mako"/>
+<%namespace file="navlinks.mako" import="navlinks" />
 
 % if results == None:
 <form action="${request.route_url("search")}" method="get">
-    <input type="hidden" name="form_submitted" />
+    <input type="hidden" name="fs" />
     <table id="search_form" border="0">
         <tr>
             <td style="text-align:right;">Nick:</td>
@@ -22,7 +23,9 @@
         </tr>
     </table>
     </form>
-% endif
+% elif len(results) == 0:
+    <h1>Sorry, nothing found!</h1>
+% else:
 
 ##### player-only results #####
 % if result_type == "player":
@@ -91,3 +94,8 @@
     % endfor
 </table>
 % endif
+
+<!-- navigation links -->
+<p>Work in progress (these won't work :P):</p>
+${navlinks("search", results.page, results.last_page)}
+% endif
index a859023878d2bfb5a8c2ce07f891596dd5f18898..c9929625619fb74ce5025357d348f9dad5edd1f2 100755 (executable)
@@ -10,6 +10,11 @@ Map Index - ${parent.title()}
 \r
 % else:\r
 <h2>Server Index</h2>\r
+<form method="get" action="${request.route_url('search')}">\r
+    <input type="hidden" name="fs" />\r
+    <input type="text" name="server_name" />\r
+    <input type="submit" value="search" />\r
+</form>\r
 <table id="server-index-table" border="1">\r
   <tr>\r
     <th>Name</th>\r
old mode 100644 (file)
new mode 100755 (executable)
index 11c22eb..85dae39
@@ -64,24 +64,30 @@ def search_q(nick=None, server_name=None, map_name=None, create_dt=None):
     return (result_type, q)
 
 def search(request):
-    form_submitted = None
+    fs = None
     nick = None
     server_name = None
     map_name = None
     result_type = None
     results = None
 
-    if request.params.has_key('form_submitted'):
-        nick = request.params['nick']
-        server_name = request.params['server_name']
-        map_name = request.params['map_name']
+    current_page = 1
+
+    if request.params.has_key('fs'):
+        if request.params.has_key('nick'):
+            nick = request.params['nick']
+        if request.params.has_key('server_name'):
+            server_name = request.params['server_name']
+        if request.params.has_key('map_name'):
+            map_name = request.params['map_name']
         (result_type, q) = search_q(nick=nick, server_name=server_name,
                 map_name=map_name)
         log.debug(q)
 
         try:
             if q != None:
-                results = q.all()
+                results = Page(q, current_page, url=page_url)
+                log.debug(len(results))
         except Exception as e:
             raise e
             result_type = None