diff --git a/mo/web/templates/user_index.html b/mo/web/templates/user_index.html
index 021b555abc9e03b769bc752e9d72466a5b18495f..dae5f8681f382b2d5fcb6b36d2e37e87148becad 100644
--- a/mo/web/templates/user_index.html
+++ b/mo/web/templates/user_index.html
@@ -8,23 +8,39 @@
<table class="table">
<thead>
<tr>
- <th title='ročník MO'>Roč.
- <th title='kategorie'>Kat.
+ <th>Kategorie
<th>Kolo
- <th>Oblast
- <th>Stav
- <th>Akce
+ <th>Stav účasti
+ <th>Stav soutěže
+ <th>Odkazy
<tbody>
{% for pion, contest, round in pions %}
+ {% set state = contest.ct_state() %}
<tr>
- <td>{{ round.year }}
- <td>{{ round.category }}
- <td>{{ round.name }}
- <td>{{ contest.place.name }}
+ <td class="text-center" style="font-size: 1.2em"><b>{{ round.category }}</b>
+ <td>{{ round.name }} {{ contest.place.name_locative() if contest.place.level > 0 else '' }}
+ <td>{{ pion.state.friendly_name() }}
<td>{{ contest.ct_long_state() }}
- <td><div class="btn-group">
- <a class='btn btn-xs btn-primary' href='{{ url_for('user_contest', id=contest.contest_id) }}'>Detail kola</a>
- </div>
+ <td>
+ {% if contest.ct_task_statement_available() %}
+ <a class='btn btn-xs btn-success' href='{{ url_for('user_task_statement', id=contest.contest_id) }}'>Zadání</a>
+ {% endif %}
+ {% if state != RoundState.preparing %}
+ <a class='btn btn-xs btn-primary' href='{{ url_for('user_contest', id=contest.contest_id) }}'>
+ {% if state == RoundState.running %}
+ Odevzdat řešení
+ {% elif state == RoundState.grading %}
+ Odevzdaná řešení
+ {% elif state == RoundState.closed %}
+ Prohlédnout opravy
+ {% else %}
+ Detail kola
+ {% endif %}
+ </a>
+ {% endif %}
+ {% if state == RoundState.closed %}
+ <a class="btn btn-xs btn-warning" href='{{ url_for('public_score', contest_id=contest.contest_id) }}'>Výsledky</a>
+ {% endif %}
{% endfor %}
</table>
{% else %}
diff --git a/mo/web/user.py b/mo/web/user.py
index 65a958da2e7f61c8b2e30cafb85995fd6d9e6781..9d5c2df8165c2e152e59c72f43a97f44e15ce242 100644
--- a/mo/web/user.py
+++ b/mo/web/user.py
@@ -37,6 +37,7 @@ def load_pcrs() -> List[Tuple[db.Participation, db.Contest, db.Round]]:
.join(db.Contest, db.Contest.master_contest_id == db.Participation.contest_id)
.join(db.Round)
.filter(db.Participation.user == g.user)
+ .filter(db.Round.year == mo.current_year)
.options(joinedload(db.Contest.place))
.order_by(db.Round.year.desc(), db.Round.category, db.Round.seq, db.Round.part)
.all())