]> de.git.xonotic.org Git - xonotic/xonstat.git/blob - xonstat/templates/navlinks.mako
Fix search pagination.
[xonotic/xonstat.git] / xonstat / templates / navlinks.mako
1 <%def name="navlinks(view, curr, last, query=None)">
2 % if curr != last:
3     % if curr != 1:
4         % if query is not None:
5             <a class="pagination" href="${request.route_url(view, page=curr-1, _query=query)}" name="Previous Page">previous</a>
6         % else:
7             <a class="pagination" href="${request.route_url(view, page=curr-1)}" name="Previous Page">previous</a>
8         % endif
9     % endif
10
11     % if last < 8:
12         % for i in range(1, last+1):
13         ${link_page(view, i, curr, query)}
14         % endfor
15     % else:
16         % if curr < 5:
17             % for i in range(1,7):
18             ${link_page(view, i, curr, query)}
19             % endfor
20             <span class="pagination">...</span>
21             % if query is not None:
22                 <a class="pagination" href="${request.route_url(view, page=last, _query=query)}" name="Last Page">${last}</a>
23             % else:
24                 <a class="pagination" href="${request.route_url(view, page=last)}" name="Last Page">${last}</a>
25             % endif
26
27         % elif last-curr < 6:
28             % if query is not None:
29                 <a class="pagination" href="${request.route_url(view, page=1, _query=query)}" name="First Page">1</a>
30             % else:
31                 <a class="pagination" href="${request.route_url(view, page=1)}" name="First Page">1</a>
32             % endif
33             <span class="pagination">...</span>
34             % for i in range(last-5, last+1):
35             ${link_page(view, i, curr, query)}
36             % endfor
37         % else:
38             % if query is not None:
39                 <a class="pagination" href="${request.route_url(view, page=1, _query=query)}" name="First Page">1</a>
40             % else:
41                 <a class="pagination" href="${request.route_url(view, page=1)}" name="First Page">1</a>
42             % endif
43
44             <span class="pagination">...</span>
45             % for i in range(curr-2, curr+3):
46             ${link_page(view, i, curr, query)}
47             % endfor
48             <span class="pagination">...</span>
49             % if query is not None:
50                 <a class="pagination" href="${request.route_url(view, page=last, _query=query)}" name="Last Page">${last}</a>
51             % else:
52                 <a class="pagination" href="${request.route_url(view, page=last)}" name="Last Page">${last}</a>
53             % endif
54
55         % endif
56     % endif
57
58     % if curr != last:
59         % if query is not None:
60             <a class="pagination" href="${request.route_url(view, page=curr+1, _query=query)}" name="Next Page">next</a>
61         % else:
62             <a class="pagination" href="${request.route_url(view, page=curr+1)}" name="Next Page">next</a>
63         % endif
64     % endif
65 % endif
66 </%def>
67
68 <%def name="link_page(view, page_num, curr_page, query)">
69 % if page_num == curr_page:
70 <span class="pagination" style="color:#d95b00;">${page_num}</span>
71 % else:
72     % if query is not None:
73         <a class="pagination" href="${request.route_url(view, page=page_num, _query=query)}" name="Go to page ${page_num}">${page_num}</a>
74     % else:
75         <a class="pagination" href="${request.route_url(view, page=page_num)}" name="Go to page ${page_num}">${page_num}</a>
76     % endif
77 % endif
78 </%def>