Add global url_set_query Jinja template function

This commit is contained in:
rubenwardy
2020-07-12 17:15:30 +01:00
parent 820c968f73
commit f437850a50
5 changed files with 15 additions and 14 deletions

View File

@@ -23,6 +23,8 @@ from . import app
import random, string, os, imghdr
from urllib.parse import urljoin
# These are given to Jinja in template_filters.py
def abs_url_for(path, **kwargs):
scheme = "https" if app.config["BASE_URL"][:5] == "https" else "http"
return url_for(path, _external=True, _scheme=scheme, **kwargs)
@@ -30,6 +32,11 @@ def abs_url_for(path, **kwargs):
def abs_url(path):
return urljoin(app.config["BASE_URL"], path)
def url_set_query(**kwargs):
args = dict(request.args)
args.update(kwargs)
return url_for(request.endpoint, **args)
def get_int_or_abort(v, default=None):
if v is None:
return default