diff --git a/mo/web/jinja.py b/mo/web/jinja.py index 59c744f19a92619545a76d29fb25d10af96c189d..503283165a419441381f12753fa4137640c72ae4 100644 --- a/mo/web/jinja.py +++ b/mo/web/jinja.py @@ -13,6 +13,7 @@ import mo.util_format as util_format from mo.web import app from mo.web.org_contest import contest_breadcrumbs from mo.web.org_place import place_breadcrumbs +from mo.web.util import user_html_flags # Konfigurace Jinjy @@ -100,3 +101,7 @@ def json_pretty(js: Any) -> str: @app.template_global() def log_url(typ: str, id: int) -> str: return url_for('org_log', typ=typ, id=id) + +@app.template_filter() +def user_flags(u: db.User) -> Markup: + return user_html_flags(u) diff --git a/mo/web/util.py b/mo/web/util.py index 4f10a68d52fc20246453ea9ddf7b88a9f8a88ba5..11e5541e8a10d4afd064b5c1f51c9c75264914ba 100644 --- a/mo/web/util.py +++ b/mo/web/util.py @@ -9,6 +9,7 @@ import werkzeug.exceptions import werkzeug.utils import wtforms from wtforms.fields.html5 import DecimalField +from markupsafe import Markup import mo.db as db import mo.jobs @@ -145,3 +146,13 @@ class MODecimalField(DecimalField): d /= 10 return super(MODecimalField, self)._value() + +def user_html_flags(u: db.User) -> Markup: + r = [] + if u.is_test: + r.append("<span class='user-test' title='Testovací uživatel'>*</span>") + if u.is_inactive(): + r.append("<span class='user-inactive' title='Účet dosud nebyl aktivován'>*</span>") + if len(r) == 0: + return Markup("") + return Markup(" " + "".join(r)) diff --git a/static/mo.css b/static/mo.css index 2de94b237bc204eea24c2b1fa0dd34d39cc92880..0c84556d7224231d37440f115a792883c442eb42 100644 --- a/static/mo.css +++ b/static/mo.css @@ -256,6 +256,9 @@ table.data tbody tr.job-failed:hover { /* Users */ +.user-test { + color: green; +} .user-inactive { color: red; }