Show relevant pages
This commit is contained in:
@@ -76,6 +76,19 @@ def dateFromString(value, formatter="%m/%Y"):
|
||||
return datetime.datetime.strptime(value, formatter)
|
||||
|
||||
|
||||
def pageWindow(pagination, size=2):
|
||||
page = pagination.page
|
||||
num_pages = pagination.pages
|
||||
|
||||
over = max(0, page + size - num_pages)
|
||||
under = min(0, page - size - 1)
|
||||
|
||||
return (
|
||||
max(1, (page - size) - over),
|
||||
min(num_pages, (page + size) - under)
|
||||
)
|
||||
|
||||
|
||||
def register_filters(app):
|
||||
app.jinja_env.filters["iconSvg"] = iconSvg
|
||||
app.jinja_env.filters["dollars"] = dollars
|
||||
@@ -87,3 +100,4 @@ def register_filters(app):
|
||||
app.jinja_env.filters["renderList"] = renderList
|
||||
app.jinja_env.filters["formattedDate"] = formattedDate
|
||||
app.jinja_env.filters["dateFromString"] = dateFromString
|
||||
app.jinja_env.filters["pageWindow"] = pageWindow
|
||||
|
@@ -124,7 +124,7 @@ def logout():
|
||||
def get_pagination_opts(request, default_page=1, default_per_page=50):
|
||||
return {
|
||||
"page": int(request.args.get("page", default_page)),
|
||||
"per_page": int(request.args.get("per_page", default_per_page)),
|
||||
"per_page": int(request.args.get("perPage", default_per_page)),
|
||||
}
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user