diff --git a/mo/web/main.py b/mo/web/main.py index 655f29f9278a92075df59d759d2063f496977a95..f90e1df6b1c58c7bd22e36e51887f1972527cbfe 100644 --- a/mo/web/main.py +++ b/mo/web/main.py @@ -76,7 +76,14 @@ def logout(): @app.route('/user/settings') def user_settings(): - return render_template('not_implemented.html') + sess = db.get_session() + roles = [] + if g.user: + roles = (sess.query(db.UserRole) + .filter_by(user_id=g.user.user_id) + .options(joinedload(db.UserRole.place)) + .all()) + return render_template('settings.html', roles=roles, roles_by_type=mo.rights.roles_by_type) @app.errorhandler(NeedLoginError) diff --git a/mo/web/org.py b/mo/web/org.py index 5c811f78d2956c3b911096e49839cafcf29882f4..c5973edab453eeb9cb2a7eba975362c614558da1 100644 --- a/mo/web/org.py +++ b/mo/web/org.py @@ -2,6 +2,7 @@ from flask import render_template, g, redirect, url_for, request from sqlalchemy.orm import aliased import mo.db as db +import mo.rights from mo.web.table import Table, Column from mo.web import app diff --git a/mo/web/templates/main.html b/mo/web/templates/main.html index 7d8921c0df2d441571e1ab58bef051acc0ac435b..35321f861e50d98b2ecb082f78f20d17b2d1dee8 100644 --- a/mo/web/templates/main.html +++ b/mo/web/templates/main.html @@ -2,35 +2,10 @@ {% block body %} <h2>Vítejte</h2> -{% if g.user.is_org or g.user.is_admin %} - <p><a href='{{ url_for('org_place_root') }}'>Hierarchie míst</a> - <p>Export všech škol: <a href='{{ url_for('org_export_skoly', format='csv') }}'>CSV</a>, - <a href='{{ url_for('org_export_skoly', format='tsv') }}'>TSV</a> +{% if g.user %} + <p>Rozhraní na odevzdávání úloh se zde brzy objeví. +{% else %} + <p>Nejprve se prosím přihlašte. {% endif %} - <h3>Práva</h3> -{% if g.user.is_admin %} - <p>Správce systému -{% endif %} -{% if g.user.is_org %} - <table class=data> - <tr> - <th>Role - <th>Oblast - <th>Roč. - <th>Kat. - <th>Kolo - {% for role in roles %} - <tr> - <td>{{ roles_by_type[role.role].name }} - <td><a href='{{ url_for('org_place', id=role.place_id) }}'>{{ role.place.name }}</a> - <td>{{ role.year or '–' }} - <td>{{ role.category or '–' }} - <td>{{ role.seq or '–' }} - {% endfor %} - </table> -{% endif %} -{% if not g.user.is_admin and not g.user.is_org %} - <p>Běžný uživatel -{% endif %} {% endblock %} diff --git a/mo/web/templates/org_index.html b/mo/web/templates/org_index.html index a9751bb06979e9092cac2474ce37f419b8c04a6e..2691932e2cb9f193e8204300c9a20fe7da894a08 100644 --- a/mo/web/templates/org_index.html +++ b/mo/web/templates/org_index.html @@ -1,4 +1,12 @@ {% extends "base.html" %} {% block body %} -Vítejte v organizátorském rozhraní. +<h2>Organizátorské rozhraní</h2> + +<h3>Různé</h3> + +<ul> +<li>Export všech škol: <a href='{{ url_for('org_export_skoly', format='csv') }}'>CSV</a>, + <a href='{{ url_for('org_export_skoly', format='tsv') }}'>TSV</a> +</ul> + {% endblock %} diff --git a/mo/web/templates/settings.html b/mo/web/templates/settings.html new file mode 100644 index 0000000000000000000000000000000000000000..53455720f05c05708f98e8f344f1a164a1ccc85c --- /dev/null +++ b/mo/web/templates/settings.html @@ -0,0 +1,31 @@ +{% extends "base.html" %} +{% block body %} + <h2>Uživatel {{ g.user.first_name }} {{ g.user.last_name }}</h2> + + <h3>Práva</h3> +{% if g.user.is_admin %} + <p>Správce systému +{% endif %} +{% if g.user.is_org %} + <table class=data> + <tr> + <th>Role + <th>Oblast + <th>Roč. + <th>Kat. + <th>Kolo + {% for role in roles %} + <tr> + <td>{{ roles_by_type[role.role].name }} + <td><a href='{{ url_for('org_place', id=role.place_id) }}'>{{ role.place.name }}</a> + <td>{{ role.year or '–' }} + <td>{{ role.category or '–' }} + <td>{{ role.seq or '–' }} + {% endfor %} + </table> +{% endif %} +{% if not g.user.is_admin and not g.user.is_org %} + <p>Běžný uživatel +{% endif %} + +{% endblock %}