diff --git a/aurweb/templates.py b/aurweb/templates.py index bb4047f4..b8853593 100644 --- a/aurweb/templates.py +++ b/aurweb/templates.py @@ -29,6 +29,7 @@ env.filters["dt"] = util.timestamp_to_datetime env.filters["as_timezone"] = util.as_timezone env.filters["dedupe_qs"] = util.dedupe_qs env.filters["urlencode"] = quote_plus +env.filters["get_vote"] = util.get_vote # Add captcha filters. env.filters["captcha_salt"] = captcha.captcha_salt_filter diff --git a/aurweb/util.py b/aurweb/util.py index e5f510ce..adbff755 100644 --- a/aurweb/util.py +++ b/aurweb/util.py @@ -10,6 +10,8 @@ from datetime import datetime from urllib.parse import quote_plus, urlparse from zoneinfo import ZoneInfo +import fastapi + from email_validator import EmailNotValidError, EmailUndeliverableError, validate_email from fastapi.responses import Response from jinja2 import pass_context @@ -143,6 +145,11 @@ def dedupe_qs(query_string: str, *additions): return '&'.join([f"{k}={quote_plus(v)}" for k, v in reversed(qs.items())]) +def get_vote(voteinfo, request: fastapi.Request): + from aurweb.models.tu_vote import TUVote + return voteinfo.tu_votes.filter(TUVote.User == request.user).first() + + def jsonify(obj): """ Perform a conversion on obj if it's needed. """ if isinstance(obj, datetime):