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