changeset 7976:2a6b6baf1448

page: pass url query params to Page instead of passing request.GET.mixed() to .pager Standardize on one transparent way to use Pager: Avoid passing random parameters to .pager() ... or any parameters at all.
author Mads Kiilerich <mads@kiilerich.com>
date Sat, 09 Nov 2019 19:08:16 +0100
parents 3936f5cc4c58
children 2323e2bb2797
files kallithea/controllers/admin/gists.py kallithea/controllers/pullrequests.py kallithea/templates/admin/gists/index.html kallithea/templates/pullrequests/pullrequest_data.html
diffstat 4 files changed, 15 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/kallithea/controllers/admin/gists.py	Sat Nov 16 22:49:59 2019 +0100
+++ b/kallithea/controllers/admin/gists.py	Sat Nov 09 19:08:16 2019 +0100
@@ -71,6 +71,11 @@
         not_default_user = not request.authuser.is_default_user
         c.show_private = request.GET.get('private') and not_default_user
         c.show_public = request.GET.get('public') and not_default_user
+        url_params = {}
+        if c.show_public:
+            url_params['public'] = 1
+        elif c.show_private:
+            url_params['private'] = 1
 
         gists = Gist().query() \
             .filter_by(is_expired=False) \
@@ -97,7 +102,8 @@
 
         c.gists = gists
         p = safe_int(request.GET.get('page'), 1)
-        c.gists_pager = Page(c.gists, page=p, items_per_page=10)
+        c.gists_pager = Page(c.gists, page=p, items_per_page=10,
+                             **url_params)
         return render('admin/gists/index.html')
 
     @LoginRequired()
--- a/kallithea/controllers/pullrequests.py	Sat Nov 16 22:49:59 2019 +0100
+++ b/kallithea/controllers/pullrequests.py	Sat Nov 09 19:08:16 2019 +0100
@@ -201,6 +201,11 @@
     def show_all(self, repo_name):
         c.from_ = request.GET.get('from_') or ''
         c.closed = request.GET.get('closed') or ''
+        url_params = {}
+        if c.from_:
+            url_params['from_'] = 1
+        if c.closed:
+            url_params['closed'] = 1
         p = safe_int(request.GET.get('page'), 1)
 
         q = PullRequest.query(include_closed=c.closed, sorted=True)
@@ -210,7 +215,7 @@
             q = q.filter_by(other_repo=c.db_repo)
         c.pull_requests = q.all()
 
-        c.pullrequests_pager = Page(c.pull_requests, page=p, items_per_page=100)
+        c.pullrequests_pager = Page(c.pull_requests, page=p, items_per_page=100, **url_params)
 
         return render('/pullrequests/pullrequest_show_all.html')
 
--- a/kallithea/templates/admin/gists/index.html	Sat Nov 16 22:49:59 2019 +0100
+++ b/kallithea/templates/admin/gists/index.html	Sat Nov 09 19:08:16 2019 +0100
@@ -61,7 +61,7 @@
             <div class="text-muted">${gist.gist_description}</div>
           </div>
         % endfor
-        ${c.gists_pager.pager(**request.GET.mixed())}
+        ${c.gists_pager.pager()}
       %else:
         <div>${_('There are no gists yet')}</div>
       %endif
--- a/kallithea/templates/pullrequests/pullrequest_data.html	Sat Nov 16 22:49:59 2019 +0100
+++ b/kallithea/templates/pullrequests/pullrequest_data.html	Sat Nov 09 19:08:16 2019 +0100
@@ -80,7 +80,7 @@
 </div>
 
 %if hasattr(pullrequests, 'pager'):
-    ${pullrequests.pager(**request.GET.mixed())}
+    ${pullrequests.pager()}
 %endif
 
 </%def>