From 8efe280735010fc7f94a572cf4c391d0cd01ea97 Mon Sep 17 00:00:00 2001 From: deflax Date: Sun, 25 Mar 2018 02:15:29 +0200 Subject: [PATCH] working pagination only with urls --- app/admin/routes.py | 26 +++++++++------------- app/templates/admin/list_transactions.html | 2 ++ app/templates/admin/list_users.html | 6 ++--- 3 files changed, 14 insertions(+), 20 deletions(-) diff --git a/app/admin/routes.py b/app/admin/routes.py index 020d2bb..3040be9 100644 --- a/app/admin/routes.py +++ b/app/admin/routes.py @@ -1,7 +1,6 @@ from flask import render_template, abort, redirect, url_for, abort, flash, request, current_app, make_response, g from flask_login import fresh_login_required, login_user, logout_user from flask_sqlalchemy import get_debug_queries -from flask_paginate import Pagination, get_page_parameter from . import admin from .forms import ChargeForm, Addr2PoolForm, OrderForm @@ -72,19 +71,13 @@ def list_archive(): domains = Domain.query.filter_by(deleted=True).all() return render_template('admin/list_archive.html', deployments=deployments, services=services, domains=domains) -@admin.route("/listusers", methods=['GET']) +@admin.route("/listusers/", defaults={'page': 1}) +@admin.route("/listusers/", methods=['GET']) @fresh_login_required @admin_required -def list_users(): - search = False - q = request.args.get('q') - if q: - search = True - page = request.args.get(get_page_parameter(), type=int, default=1) - per_page = 20 - sqlitems = User.query.filter_by(active=True).order_by(User.last_seen.desc()).all() - pagination = Pagination(page=page, per_page=per_page, format_total=True, format_number=True, total=len(sqlitems), search=search, css_framework='foundation', record_name='users') - return render_template('admin/list_users.html', users=sqlitems, page=page, per_page=per_page, pagination=pagination) +def list_users(page): + sqlquery = User.query.filter_by(active=True).order_by(User.last_seen.desc()).paginate(page, current_app.config['ITEMS_PER_PAGE'], error_out=False) + return render_template('admin/list_users.html', users=sqlquery.items, page=page) @admin.route("/charge/", methods=['GET', 'POST']) @fresh_login_required @@ -146,12 +139,13 @@ def list_servers(): allservers = Server.query.all() return render_template('admin/list_servers.html', servers=allservers) -@admin.route("/listtransactions", methods=['GET']) +@admin.route("/listtransactions/", defaults={'page': 1}) +@admin.route("/listtransactions/", methods=['GET']) @fresh_login_required @admin_required -def list_transactions(): - alltransactions = Transaction.query.order_by(Transaction.date_created.desc()).all() - return render_template('admin/list_transactions.html', transactions=alltransactions) +def list_transactions(page): + sqlquery = Transaction.query.order_by(Transaction.date_created.desc()).paginate(page, current_app.config['ITEMS_PER_PAGE'], error_out=False) + return render_template('admin/list_transactions.html', transactions=sqlquery.items, page=page) @admin.route("/transaction/", methods=['GET']) @fresh_login_required diff --git a/app/templates/admin/list_transactions.html b/app/templates/admin/list_transactions.html index f6225c2..933a3ad 100644 --- a/app/templates/admin/list_transactions.html +++ b/app/templates/admin/list_transactions.html @@ -42,6 +42,8 @@ {% endfor %} + {% if transactions.has_prev %}<< Previous{% else %}<< Previous{% endif %} | + {% if transactions.has_next %}Next >>{% else %}Next >>{% endif %} diff --git a/app/templates/admin/list_users.html b/app/templates/admin/list_users.html index 8526ee4..1864587 100644 --- a/app/templates/admin/list_users.html +++ b/app/templates/admin/list_users.html @@ -9,8 +9,6 @@
List Active Users

- {{ pagination.info }} - {{ pagination.links }} @@ -24,7 +22,6 @@ {% for usr in users %} - {% set rowloop = loop %} @@ -38,7 +35,8 @@ {% endfor %}
{{ usr.email }} {{ moment(usr.last_seen).format('lll') }}
- {{ pagination.links }} + {% if users.has_prev %}<< Previous{% else %}<< Previous{% endif %} | + {% if users.has_next %}Next >>{% else %}Next >>{% endif %}