Commit | Line | Data |
---|---|---|
ae85ed0f BK |
1 | {# GNU MediaGoblin -- federated, autonomous media hosting |
2 | # Copyright (C) 2011 Free Software Foundation, Inc | |
3 | # | |
4 | # This program is free software: you can redistribute it and/or modify | |
5 | # it under the terms of the GNU Affero General Public License as published by | |
6 | # the Free Software Foundation, either version 3 of the License, or | |
7 | # (at your option) any later version. | |
8 | # | |
9 | # This program is distributed in the hope that it will be useful, | |
10 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | |
11 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
12 | # GNU Affero General Public License for more details. | |
13 | # | |
14 | # You should have received a copy of the GNU Affero General Public License | |
15 | # along with this program. If not, see <http://www.gnu.org/licenses/>. | |
16 | #} | |
17 | ||
5949be9a CAW |
18 | {% macro render_pagination(request, pagination, |
19 | base_url=None, preserve_get_params=True) %} | |
20 | {# only display if {{pagination}} is defined #} | |
21 | {% if pagination and pagination.pages > 1 %} | |
22 | {% if not base_url %} | |
23 | {% set base_url = request.path_info %} | |
24 | {% endif %} | |
ae85ed0f | 25 | |
5949be9a CAW |
26 | {% if preserve_get_params %} |
27 | {% set get_params = request.GET %} | |
28 | {% else %} | |
29 | {% set get_params = {} %} | |
30 | {% endif %} | |
ca3ca51c | 31 | |
5949be9a CAW |
32 | <div class="pagination"> |
33 | <p> | |
34 | {% if pagination.has_prev %} | |
35 | <a href="{{ pagination.get_page_url_explicit( | |
36 | base_url, get_params, | |
0a45fa59 | 37 | pagination.page - 1) }}"><img class="pagination_arrow" src="/mgoblin_static/images/pagination_left.png" alt="Previous page" />Newer</a> |
5949be9a | 38 | {% endif %} |
0a45fa59 JS |
39 | {% if pagination.has_next %} |
40 | <a href="{{ pagination.get_page_url_explicit( | |
41 | base_url, get_params, | |
42 | pagination.page + 1) }}">Older<img class="pagination_arrow" src="/mgoblin_static/images/pagination_right.png" alt="Next page" /> | |
43 | </a> | |
44 | {% endif %} | |
45 | <br /> | |
46 | Go to page: | |
5949be9a CAW |
47 | {%- for page in pagination.iter_pages() %} |
48 | {% if page %} | |
49 | {% if page != pagination.page %} | |
50 | <a href="{{ pagination.get_page_url_explicit( | |
51 | base_url, get_params, | |
52 | page) }}">{{ page }}</a> | |
53 | {% else %} | |
54 | {{ page }} | |
55 | {% endif %} | |
ca3ca51c | 56 | {% else %} |
5949be9a | 57 | <span class="ellipsis">…</span> |
ca3ca51c | 58 | {% endif %} |
5949be9a | 59 | {%- endfor %} |
5949be9a CAW |
60 | </p> |
61 | </div> | |
62 | {% endif %} | |
63 | {% endmacro %} |