]> ToastFreeware Gitweb - philipp/winterrodeln/wradmin.git/commitdiff
Simplify pagination.
authorphilipp <philipp@7aebc617-e5e2-0310-91dc-80fb5f6d2477>
Thu, 27 Jul 2017 22:01:34 +0000 (22:01 +0000)
committerphilipp <philipp@7aebc617-e5e2-0310-91dc-80fb5f6d2477>
Thu, 27 Jul 2017 22:01:34 +0000 (22:01 +0000)
git-svn-id: http://www.winterrodeln.org/svn/wradmin/trunk@2684 7aebc617-e5e2-0310-91dc-80fb5f6d2477

wradmin/controllers/bericht.py
wradmin/controllers/gasthaus.py
wradmin/controllers/rodelbahn.py
wradmin/templates/bericht_list.html
wradmin/templates/gasthaus_list.html
wradmin/templates/rodelbahn_list.html
wradmin/templates/rodelbahn_view.html

index 5ee5775915ed696a050b3acc41004818c32416c8..fb3c23acc6498c2d7bda1f2b6ff1fa79922b68e1 100644 (file)
@@ -1,7 +1,7 @@
 #from pylons import request, response, session, url, tmpl_context as c
 #from pylons.controllers.util import abort, redirect
 import datetime
-from flask import request, abort
+from flask import request, abort, url_for
 import paginate
 import sqlalchemy as sa
 
@@ -80,5 +80,7 @@ class BerichtController:
         q = model.meta.Session.query(model.WrReport)
         q = q.order_by(sa.sql.expression.desc(model.WrReport.id))
         c = TemplateContext()
-        c.paginator = paginate.Page(q.all(), page=int(request.args.get('page', 1)), items_per_page = 25)
+        c.paginator = paginate.Page(q.all(), page=int(request.args.get('page', 1)),
+                                    url_maker=lambda page: url_for('bericht_list', page=page),
+                                    items_per_page=25)
         return render_genshi_template('bericht_list.html', c=c)
index a20566e497c22802fe5ef20e481665f4e996d975..65514ef91b5789511ec6e4956459acf750175bcf 100644 (file)
@@ -20,7 +20,9 @@ class GasthausController:
         q = model.meta.Session.query(model.WrInnCache)
         q = q.order_by(model.WrInnCache.page_title)
         c = TemplateContext()
-        c.paginator = paginate.Page(q.all(), page=int(request.args.get('page', 1)), items_per_page = 25)
+        c.paginator = paginate.Page(q.all(), page=int(request.args.get('page', 1)),
+                                    url_maker=lambda page: url_for('gasthaus_list', page=page),
+                                    items_per_page=25)
         return render_genshi_template('gasthaus_list.html', c=c)
 
     def view(self, id):
index 547f004be14380ea9cb98db36eeaf86ad2c2c3b3..ab67570ecfd1bf797607d8d7ad50d5839fc369ba 100644 (file)
@@ -1,7 +1,7 @@
 #!/usr/bin/python3.4
 #from pylons import request, response, session, url, tmpl_context as c
 #from pylons.controllers.util import abort, redirect
-from flask import request, abort
+from flask import request, abort, url_for
 import paginate
 import sqlalchemy as sa
 
@@ -20,7 +20,9 @@ class RodelbahnController:
         q = model.meta.Session.query(model.WrSledrunCache)
         q = q.order_by(model.WrSledrunCache.page_title)
         c = TemplateContext()
-        c.paginator = paginate.Page(q.all(), page=int(request.args.get('page', 1)), items_per_page = 25)
+        c.paginator = paginate.Page(q.all(), page=int(request.args.get('page', 1)),
+                                    url_maker=lambda page: url_for('rodelbahn_list', page=page),
+                                    items_per_page=25)
         return render_genshi_template('rodelbahn_list.html', c=c)
 
     def view(self, id):
@@ -32,7 +34,9 @@ class RodelbahnController:
             abort(404)
         q = model.meta.Session.query(model.WrReport)
         q = q.filter_by(page_id=id).order_by(sa.sql.expression.desc(model.WrReport.id))
-        c.paginator = paginate.Page(q.all(), page=int(request.args.get('page', 1)), items_per_page = 25)
+        c.paginator = paginate.Page(q.all(), page=int(request.args.get('page', 1)),
+                                    url_maker=lambda page: url_for('rodelbahn_view', id=id, page=page),
+                                    items_per_page=25)
         return render_genshi_template('rodelbahn_view.html', c=c)
 
     def update(self):
index 5642ab295cef7ca0674bcc32ab7df7dca68f8b07..49f07f3cddd34384fae11ac4703c1fa6edb4b860 100644 (file)
@@ -13,7 +13,7 @@
 <body>
 <h2>Rodelbahnberichte</h2>
 
-<p>${HTML(c.paginator.pager('$link_first $link_previous $first_item bis $last_item von $item_count $link_next $link_last', url=h.url(controller='bericht', action='list') + '?page=$page'))}</p>
+<p>${HTML(c.paginator.pager('$link_first $link_previous $first_item bis $last_item von $item_count $link_next $link_last'))}</p>
 
 <table>
     <tr>
@@ -40,7 +40,7 @@
     </tr>
 </table>
 
-<p>${HTML(c.paginator.pager('~2~', url=h.url(controller='bericht', action='list') + '?page=$page'))}</p>
+<p>${HTML(c.paginator.pager('~2~'))}</p>
 
 </body>
 </html>
index 6b4dcea3c69a29b757f11ebfdbe771c3f860a794..3899b51bbde309ddef104b4ef50a342f17ca719f 100644 (file)
@@ -18,7 +18,7 @@
 <p><a href="${h.url(controller='gasthaus', action='update')}" class="button">Gasthausboxen auslesen und DB aktualisieren</a></p>
 
 
-<p>${HTML(c.paginator.pager('$link_first $link_previous $first_item bis $last_item von $item_count $link_next $link_last', url=h.url(controller='gasthaus', action='list') + '?page=$page'))}</p>
+<p>${HTML(c.paginator.pager('$link_first $link_previous $first_item bis $last_item von $item_count $link_next $link_last'))}</p>
 
 <table>
     <tr>
@@ -49,7 +49,7 @@
     </tr>
 </table>
 
-<p>${HTML(c.paginator.pager('~2~', url=h.url(controller='gasthaus', action='list') + '?page=$page'))}</p>
+<p>${HTML(c.paginator.pager('~2~'))}</p>
 
 </body>
 </html>
index 6bb762f6c45a698e139b6f300a1fbffc74d51039..c0ce7edac0b8bf73556e5c30e9f5d18d78bcc0fe 100644 (file)
@@ -18,7 +18,7 @@
 <a href="${h.url(controller='rodelbahn', action='update')}" class="button">(1) Rodelbahnboxen auslesen und DB aktualisieren</a>
 <a href="${h.url(controller='rodelbahn', action='update_regioncache')}" class="button">(2) Rodelbahnen in den Regionslisten aktualisieren</a>
 
-<p>${HTML(c.paginator.pager('$link_first $link_previous $first_item bis $last_item von $item_count $link_next $link_last', url=h.url(controller='rodelbahn', action='list')+'?page=$page'))}</p>
+<p>${HTML(c.paginator.pager('$link_first $link_previous $first_item bis $last_item von $item_count $link_next $link_last'))}</p>
 
 <table>
     <tr>
@@ -65,7 +65,7 @@
     </tr>
 </table>
 
-<p>${HTML(c.paginator.pager('~2~', url=h.url(controller='rodelbahn', action='list')+'?page=$page'))}</p>
+<p>${HTML(c.paginator.pager('~2~'))}</p>
 
 </body>
 </html>
index 25f9a4456cb309da4f16fa125bb1befc3ecdd6c4..246fe635d5f69c8f4ecf576c5808305b49e8294b 100644 (file)
 <h3>Rodelbahnberichte</h3>
 
 <py:if test="len(c.paginator) > 0">
-<p>${HTML(c.paginator.pager('$link_first $link_previous $first_item bis $last_item von $item_count $link_next $link_last', url=h.url(controller='rodelbahn', action='view', id=c.sledding.page_id) + '?page=$page'))}</p>
+<p>${HTML(c.paginator.pager('$link_first $link_previous $first_item bis $last_item von $item_count $link_next $link_last')}</p>
 
 <table>
     <tr>
     </tr>
 </table>
 
-<p>${HTML(c.paginator.pager('~2~', url=h.url(controller='rodelbahn', action='view', id=c.sledding.page_id) + '?page=$page'))}</p>
+<p>${HTML(c.paginator.pager('~2~'))}</p>
 </py:if>
 <py:if test="len(c.paginator) == 0">
 <p><em>Es sind keine Rodelbahnberichte zu dieser Rodelbahn vorhanden.</em></p>