]> git.lizzy.rs Git - cheatdb.git/blob - app/template_filters.py
39d38065e454ec21850cb8ce0e8d281927e87396
[cheatdb.git] / app / template_filters.py
1 from . import app
2 from .models import Permission, Package, PackageState, PackageRelease
3 from .utils import abs_url_for, url_set_query
4 from flask_user import current_user
5 from urllib.parse import urlparse
6
7 @app.context_processor
8 def inject_debug():
9         return dict(debug=app.debug)
10
11 @app.context_processor
12 def inject_functions():
13         check_global_perm = Permission.checkPerm
14         return dict(abs_url_for=abs_url_for, url_set_query=url_set_query, check_global_perm=check_global_perm)
15
16 @app.context_processor
17 def inject_todo():
18         todo_list_count = None
19         if current_user.is_authenticated and current_user.canAccessTodoList():
20                 todo_list_count = Package.query.filter_by(state=PackageState.READY_FOR_REVIEW).count()
21                 todo_list_count += PackageRelease.query.filter_by(approved=False, task_id=None).count()
22
23         return dict(todo_list_count=todo_list_count)
24
25 @app.template_filter()
26 def throw(err):
27         raise Exception(err)
28
29 @app.template_filter()
30 def domain(url):
31         return urlparse(url).netloc
32
33 @app.template_filter()
34 def date(value):
35         return value.strftime("%Y-%m-%d")
36
37 @app.template_filter()
38 def datetime(value):
39         return value.strftime("%Y-%m-%d %H:%M") + " UTC"