2020-12-05 20:15:33 +01:00
|
|
|
from . import app, utils
|
2020-09-19 20:30:33 +02:00
|
|
|
from .models import Permission, Package, PackageState, PackageRelease
|
2020-07-12 18:15:30 +02:00
|
|
|
from .utils import abs_url_for, url_set_query
|
2020-12-04 23:05:10 +01:00
|
|
|
from flask_login import current_user
|
2020-12-04 04:59:02 +01:00
|
|
|
from flask_babel import format_timedelta
|
2019-11-16 00:51:42 +01:00
|
|
|
from urllib.parse import urlparse
|
2020-12-22 13:22:52 +01:00
|
|
|
from datetime import datetime as dt
|
2019-11-16 00:51:42 +01:00
|
|
|
|
|
|
|
@app.context_processor
|
|
|
|
def inject_debug():
|
2020-07-15 20:54:33 +02:00
|
|
|
return dict(debug=app.debug)
|
2019-11-16 00:51:42 +01:00
|
|
|
|
2020-03-28 20:01:39 +01:00
|
|
|
@app.context_processor
|
|
|
|
def inject_functions():
|
2020-07-15 20:54:33 +02:00
|
|
|
check_global_perm = Permission.checkPerm
|
|
|
|
return dict(abs_url_for=abs_url_for, url_set_query=url_set_query, check_global_perm=check_global_perm)
|
2020-03-28 20:01:39 +01:00
|
|
|
|
2020-09-19 20:30:33 +02:00
|
|
|
@app.context_processor
|
|
|
|
def inject_todo():
|
|
|
|
todo_list_count = None
|
2020-10-19 16:30:45 +02:00
|
|
|
if current_user and current_user.is_authenticated and current_user.canAccessTodoList():
|
2020-09-19 20:30:33 +02:00
|
|
|
todo_list_count = Package.query.filter_by(state=PackageState.READY_FOR_REVIEW).count()
|
|
|
|
todo_list_count += PackageRelease.query.filter_by(approved=False, task_id=None).count()
|
|
|
|
|
|
|
|
return dict(todo_list_count=todo_list_count)
|
|
|
|
|
2019-11-16 00:51:42 +01:00
|
|
|
@app.template_filter()
|
|
|
|
def throw(err):
|
|
|
|
raise Exception(err)
|
|
|
|
|
|
|
|
@app.template_filter()
|
|
|
|
def domain(url):
|
|
|
|
return urlparse(url).netloc
|
|
|
|
|
|
|
|
@app.template_filter()
|
|
|
|
def date(value):
|
2020-07-15 20:54:33 +02:00
|
|
|
return value.strftime("%Y-%m-%d")
|
2019-11-16 00:51:42 +01:00
|
|
|
|
|
|
|
@app.template_filter()
|
|
|
|
def datetime(value):
|
2020-12-22 13:22:52 +01:00
|
|
|
delta = dt.utcnow() - value
|
|
|
|
if delta.days == 0:
|
|
|
|
return format_timedelta(value)
|
|
|
|
else:
|
|
|
|
return value.strftime("%Y-%m-%d %H:%M") + " UTC"
|
2020-12-04 04:59:02 +01:00
|
|
|
|
|
|
|
@app.template_filter()
|
|
|
|
def timedelta(value):
|
|
|
|
return format_timedelta(value)
|
2020-12-05 20:15:33 +01:00
|
|
|
|
|
|
|
@app.template_filter()
|
|
|
|
def abs_url(url):
|
|
|
|
return utils.abs_url(url)
|