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 %}