From 9fd10fe791f3c3bc3926da89415384d94fa7c017 Mon Sep 17 00:00:00 2001 From: Martin Mares <mj@ucw.cz> Date: Sat, 2 Jan 2021 23:12:34 +0100 Subject: [PATCH] =?UTF-8?q?=C4=8C=C3=A1ste=C4=8Dn=C3=A1=20reorganizace=20h?= =?UTF-8?q?lavn=C3=ADch=20str=C3=A1nek?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Přehled práv přihlášeného uživatele přesunut do /user/settings (zatím tam není nic jiného). Orgovská hlavní stránka zatím obsahuje nesetříděné odkazy. Hlavní stránka celého webu říká, že tam zatím nic není :) --- mo/web/main.py | 9 ++++++++- mo/web/org.py | 1 + mo/web/templates/main.html | 33 ++++----------------------------- mo/web/templates/org_index.html | 10 +++++++++- mo/web/templates/settings.html | 31 +++++++++++++++++++++++++++++++ 5 files changed, 53 insertions(+), 31 deletions(-) create mode 100644 mo/web/templates/settings.html diff --git a/mo/web/main.py b/mo/web/main.py index 655f29f9..f90e1df6 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 5c811f78..c5973eda 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 7d8921c0..35321f86 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 a9751bb0..2691932e 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 00000000..53455720 --- /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 %} -- GitLab