From d142484f3048130a0e8c9f36001575abe6b2f3cd Mon Sep 17 00:00:00 2001 From: Martin Mares <mj@ucw.cz> Date: Tue, 26 Jan 2021 18:20:29 +0100 Subject: [PATCH] =?UTF-8?q?Ve=20v=C5=A1ech=20v=C3=BDpisech=20upozor=C5=88u?= =?UTF-8?q?jeme=20na=20nekorektnost=20PDF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Také se vyrovnáme s tím, že paper nemusí mít vyplněné pages a bytes. CSS třídu sol-late jsem zobecnil na sol-warn a občas to používám i na upozornění na nekorektní PDF. --- mo/web/templates/base.html | 2 +- mo/web/templates/org_contest_solutions.html | 16 +++++++++------- mo/web/templates/org_submit_list.html | 12 ++++++------ mo/web/templates/parts/org_solution_table.html | 18 ++++++++++++++---- mo/web/templates/user_contest.html | 9 ++++++++- mo/web/templates/user_contest_task.html | 4 ++-- static/mo.css | 4 ++-- 7 files changed, 42 insertions(+), 23 deletions(-) diff --git a/mo/web/templates/base.html b/mo/web/templates/base.html index b8720148..11f35b2b 100644 --- a/mo/web/templates/base.html +++ b/mo/web/templates/base.html @@ -3,7 +3,7 @@ <head> <title>Odevzdávací systém MO: {% block title %}{% endblock %}</title> <link rel=stylesheet href="{{ url_for('static', filename='bootstrap.min.css') }}?v=2" type='text/css' media=all> - <link rel=stylesheet href="{{ url_for('static', filename='mo.css') }}?v=7" type='text/css' media=all> + <link rel=stylesheet href="{{ url_for('static', filename='mo.css') }}?v=8" type='text/css' media=all> {% block head %}{% endblock %} </head> <body> diff --git a/mo/web/templates/org_contest_solutions.html b/mo/web/templates/org_contest_solutions.html index 5606f4e6..a7b03097 100644 --- a/mo/web/templates/org_contest_solutions.html +++ b/mo/web/templates/org_contest_solutions.html @@ -51,8 +51,8 @@ konkrétní úlohu. Symbol <b>+</b> značí, že existuje více verzí dostupný {% if sol.final_submit_obj %} {% set p = sol.final_submit_obj %} {% set late = p.check_deadline(round) %} - <td class="sol {% if late %}sol-late{% endif %}"> - <a href="{{ paper_link(u, p) }}" title="{{ p.uploaded_at|timeformat }} - {{ p.pages|inflected('stránka', 'stránky', 'stránek') }}{% if late %} - {{ late }}{% endif %}">🖺</a> + <td class="sol{% if late or p.broken %} sol-warn{% endif %}"> + <a href="{{ paper_link(u, p) }}" title="{{ p.uploaded_at|timeformat }}{% if p.broken %} - nekorektní PDF{% endif %}{% if p.pages != None %} - {{ p.pages|inflected('stránka', 'stránky', 'stránek') }}{% endif %}{% if late %} - {{ late }}{% endif %}">🖺</a> {% set key = (u.user_id, task.task_id, "solution") %} {% if key in paper_counts and paper_counts[key] > 1 %} <b title="Celkem {{ paper_counts[key]|inflected('verze', 'verze', 'verzí') }}">+</b> @@ -60,15 +60,17 @@ konkrétní úlohu. Symbol <b>+</b> značí, že existuje více verzí dostupný {% else %} <td class="sol"> {% endif %} - <td class="sol"> - {% if sol.final_feedback_obj %} - {% set p = sol.final_feedback_obj %} - <a href="{{ paper_link(u, p) }}" title="{{ p.uploaded_at|timeformat }} - {{ p.pages|inflected('stránka', 'stránky', 'stránek') }}">🖺</a> + {% if sol.final_feedback_obj %} + {% set p = sol.final_feedback_obj %} + <td class="sol{% if p.broken %} sol-warn{% endif %}"> + <a href="{{ paper_link(u, p) }}" title="{{ p.uploaded_at|timeformat }}{% if p.broken %} - nekorektní PDF{% endif %}{% if p.pages != None %} - {{ p.pages|inflected('stránka', 'stránky', 'stránek') }}{% endif %}">🖺</a> {% set key = (u.user_id, task.task_id, "feedback") %} {% if key in paper_counts and paper_counts[key] > 1 %} <b title="Celkem {{ paper_counts[key]|inflected('verze', 'verze', 'verzí') }}">+</b> {% endif %} - {% endif %} + {% else %} + <td class="sol"> + {% endif %} <td class="sol"> {% if sol.points is not none %} {{ sol.points }} diff --git a/mo/web/templates/org_submit_list.html b/mo/web/templates/org_submit_list.html index 489b3aac..ea618ebd 100644 --- a/mo/web/templates/org_submit_list.html +++ b/mo/web/templates/org_submit_list.html @@ -48,11 +48,11 @@ {% for p in sol_papers %} {% set late = p.check_deadline(sc.round) %} <tr{% if p.paper_id == active_sol_id %} class='sol-active'{% endif %}> - <td{% if late %} class='sol-late'{% endif %}>{{ p.uploaded_at|timeformat }} - <td>{{ p.pages }} - <td>{{ p.bytes }} + <td{% if late %} class='sol-warn'{% endif %}>{{ p.uploaded_at|timeformat }} + <td>{% if p.broken %}nekorektní PDF{% else %}{{ p.pages|or_dash }}{% endif %} + <td>{{ p.bytes|or_dash }} <td>{{ p.uploaded_by_obj|user_link }} - <td>{% if late %}<span class='sol-late'>({{ late }})</span> {% endif %}{{ p.note }} + <td>{% if late %}<span class='sol-warn'>({{ late }})</span> {% endif %}{{ p.note }} <td><div class="btn-group"> <a class='btn btn-xs btn-primary' href='{{ paper_link(p) }}'>Stáhnout</a> {% if p.paper_id != active_sol_id and set_final_form %} @@ -98,8 +98,8 @@ jen finální opravu a ani se nedozví, kolik různých verzí existovalo. {% for p in fb_papers %} <tr{% if p.paper_id == active_fb_id %} class='sol-active'{% endif %}> <td>{{ p.uploaded_at|timeformat }} - <td>{{ p.pages }} - <td>{{ p.bytes }} + <td>{% if p.broken %}nekorektní PDF{% else %}{{ p.pages|or_dash }}{% endif %} + <td>{{ p.bytes|or_dash }} <td>{{ p.uploaded_by_obj|user_link }} <td>{{ p.note }} <td><div class="btn-group"> diff --git a/mo/web/templates/parts/org_solution_table.html b/mo/web/templates/parts/org_solution_table.html index 93d622e8..3e7184b1 100644 --- a/mo/web/templates/parts/org_solution_table.html +++ b/mo/web/templates/parts/org_solution_table.html @@ -4,7 +4,7 @@ finální řešení, finální oprava a přidělené body. Historii všech odevz finální (ve výchozím stavu poslední nahrané).{% endif %} </i></p> -<p><i>Legenda k symbolům: <span class='sol-late'><b>⚠</b></span> odevzdané po termínu, +<p><i>Legenda k symbolům: <span class='sol-warn'><b>⚠</b></span> odevzdané po termínu, <b>🛈</b> nahráno někým jiným, než řešitelem, <b>+</b> existuje více verzí. Symboly po najetí myší zobrazí bližší informace. </i></p> @@ -34,9 +34,14 @@ finální (ve výchozím stavu poslední nahrané).{% endif %} <td>{% if sol.final_submit_obj %} {% set p = sol.final_submit_obj %} {% set late = p.check_deadline(round) %} - {% if late %}<span class='sol-late' title="{{ late }}"><b>⚠</b></span> {% endif %} + {% if late %}<span class='sol-warn' title="{{ late }}"><b>⚠</b></span> {% endif %} <a href='{{ paper_link(u, p) }}'> - {{- p.uploaded_at|timeformat }} ({{ p.pages|inflected('strana', 'strany', 'stran') }}) + {{- p.uploaded_at|timeformat }} + {% if p.broken %} + (nekorektní PDF) + {% elif p.pages != None %} + ({{ p.pages|inflected('strana', 'strany', 'stran') }}) + {% endif %} </a> {% if p.uploaded_by_obj != u %} <a href="{{ url_for('org_user', id=p.uploaded_by) }}" title="nahrál {{ p.uploaded_by_obj.full_name() }}" ><b>🛈</b></a> @@ -49,7 +54,12 @@ finální (ve výchozím stavu poslední nahrané).{% endif %} <td>{% if sol.final_feedback_obj %} {% set p = sol.final_feedback_obj %} <a title="nahrál {{ p.uploaded_by_obj.full_name() }}" href='{{ paper_link(u, p) }}'> - {{ (p.uploaded_at if p else None)|timeformat }} ({{ p.pages|inflected('strana', 'strany', 'stran') }}) + {{ (p.uploaded_at if p else None)|timeformat }} + {% if p.broken %} + (nekorektní PDF) + {% elif p.pages != None %} + ({{ p.pages|inflected('strana', 'strany', 'stran') }}) + {% endif %} </a> {% set key = (obj.task_id if for_user else obj.user_id, "feedback") %} {% if key in paper_counts and paper_counts[key] > 1 %} diff --git a/mo/web/templates/user_contest.html b/mo/web/templates/user_contest.html index 49b3f0a0..f7822f71 100644 --- a/mo/web/templates/user_contest.html +++ b/mo/web/templates/user_contest.html @@ -75,7 +75,14 @@ <tr> <td>{{ task.code }}: {{ task.name }} {% if sol.final_submit_obj %} - <td><a href='{{ url_for('user_paper', id=sol.final_submit_obj.paper_id) }}'>{{- sol.final_submit_obj.uploaded_at|timeformat }} ({{ sol.final_submit_obj.pages|inflected('strana', 'strany', 'stran') }})</a> + {% set p = sol.final_submit_obj %} + <td><a href='{{ url_for('user_paper', id=p.paper_id) }}'>{{- p.uploaded_at|timeformat }} + {% if p.broken %} + <strong>(nekorektní PDF)</strong> + {% elif p.pages != None %} + ({{ p.pages|inflected('strana', 'strany', 'stran') }}) + {% endif %} + </a> {% else %} <td> {% endif %} diff --git a/mo/web/templates/user_contest_task.html b/mo/web/templates/user_contest_task.html index 504c4a2d..57066df2 100644 --- a/mo/web/templates/user_contest_task.html +++ b/mo/web/templates/user_contest_task.html @@ -61,8 +61,8 @@ {% for p in papers %} <tr{% if round.state == RoundState.closed and papers|length > 1 and p.paper_id == sol.final_submit %} class="sol-active"{% endif %}> <td>{{ p.uploaded_at|timeformat }} - <td>{{ p.pages }} - <td>{{ p.bytes }} + <td>{% if p.broken %}nekorektní PDF{% else %}{{ p.pages|or_dash }}{% endif %} + <td>{{ p.bytes|or_dash }} <td>{{ p.uploaded_by_obj.full_name() }} <td>{{ p.note }} <td><a class='btn btn-xs btn-primary' href='{{ url_for('user_paper', id=p.paper_id) }}'>Stáhnout</a> diff --git a/static/mo.css b/static/mo.css index 3af005c1..4af48c46 100644 --- a/static/mo.css +++ b/static/mo.css @@ -106,7 +106,7 @@ table.data td.sol { table.data td.sol a { color: black; } -table.data td.sol-late { +table.data td.sol-warn { background-color: #ffaaaa; } @@ -180,7 +180,7 @@ nav#main-menu a.active { background-color: yellow; } -.sol-late { +.sol-warn { color: red; } -- GitLab