Skip to content
Snippets Groups Projects
Commit d142484f authored by Martin Mareš's avatar Martin Mareš
Browse files

Ve všech výpisech upozorňujeme na nekorektnost PDF

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.
parent 26e87d94
No related branches found
No related tags found
1 merge request!27Tolerování nekorektních PDF
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<head> <head>
<title>Odevzdávací systém MO: {% block title %}{% endblock %}</title> <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='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 %} {% block head %}{% endblock %}
</head> </head>
<body> <body>
......
...@@ -51,8 +51,8 @@ konkrétní úlohu. Symbol <b>+</b> značí, že existuje více verzí dostupný ...@@ -51,8 +51,8 @@ konkrétní úlohu. Symbol <b>+</b> značí, že existuje více verzí dostupný
{% if sol.final_submit_obj %} {% if sol.final_submit_obj %}
{% set p = sol.final_submit_obj %} {% set p = sol.final_submit_obj %}
{% set late = p.check_deadline(round) %} {% set late = p.check_deadline(round) %}
<td class="sol {% if late %}sol-late{% endif %}"> <td class="sol{% if late or p.broken %} sol-warn{% 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> <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") %} {% set key = (u.user_id, task.task_id, "solution") %}
{% if key in paper_counts and paper_counts[key] > 1 %} {% if key in paper_counts and paper_counts[key] > 1 %}
<b title="Celkem {{ paper_counts[key]|inflected('verze', 'verze', 'verzí') }}">+</b> <b title="Celkem {{ paper_counts[key]|inflected('verze', 'verze', 'verzí') }}">+</b>
...@@ -60,14 +60,16 @@ konkrétní úlohu. Symbol <b>+</b> značí, že existuje více verzí dostupný ...@@ -60,14 +60,16 @@ konkrétní úlohu. Symbol <b>+</b> značí, že existuje více verzí dostupný
{% else %} {% else %}
<td class="sol"> <td class="sol">
{% endif %} {% endif %}
<td class="sol">
{% if sol.final_feedback_obj %} {% if sol.final_feedback_obj %}
{% set p = 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> <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") %} {% set key = (u.user_id, task.task_id, "feedback") %}
{% if key in paper_counts and paper_counts[key] > 1 %} {% if key in paper_counts and paper_counts[key] > 1 %}
<b title="Celkem {{ paper_counts[key]|inflected('verze', 'verze', 'verzí') }}">+</b> <b title="Celkem {{ paper_counts[key]|inflected('verze', 'verze', 'verzí') }}">+</b>
{% endif %} {% endif %}
{% else %}
<td class="sol">
{% endif %} {% endif %}
<td class="sol"> <td class="sol">
{% if sol.points is not none %} {% if sol.points is not none %}
......
...@@ -48,11 +48,11 @@ ...@@ -48,11 +48,11 @@
{% for p in sol_papers %} {% for p in sol_papers %}
{% set late = p.check_deadline(sc.round) %} {% set late = p.check_deadline(sc.round) %}
<tr{% if p.paper_id == active_sol_id %} class='sol-active'{% endif %}> <tr{% if p.paper_id == active_sol_id %} class='sol-active'{% endif %}>
<td{% if late %} class='sol-late'{% endif %}>{{ p.uploaded_at|timeformat }} <td{% if late %} class='sol-warn'{% endif %}>{{ p.uploaded_at|timeformat }}
<td>{{ p.pages }} <td>{% if p.broken %}nekorektní PDF{% else %}{{ p.pages|or_dash }}{% endif %}
<td>{{ p.bytes }} <td>{{ p.bytes|or_dash }}
<td>{{ p.uploaded_by_obj|user_link }} <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"> <td><div class="btn-group">
<a class='btn btn-xs btn-primary' href='{{ paper_link(p) }}'>Stáhnout</a> <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 %} {% 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. ...@@ -98,8 +98,8 @@ jen finální opravu a ani se nedozví, kolik různých verzí existovalo.
{% for p in fb_papers %} {% for p in fb_papers %}
<tr{% if p.paper_id == active_fb_id %} class='sol-active'{% endif %}> <tr{% if p.paper_id == active_fb_id %} class='sol-active'{% endif %}>
<td>{{ p.uploaded_at|timeformat }} <td>{{ p.uploaded_at|timeformat }}
<td>{{ p.pages }} <td>{% if p.broken %}nekorektní PDF{% else %}{{ p.pages|or_dash }}{% endif %}
<td>{{ p.bytes }} <td>{{ p.bytes|or_dash }}
<td>{{ p.uploaded_by_obj|user_link }} <td>{{ p.uploaded_by_obj|user_link }}
<td>{{ p.note }} <td>{{ p.note }}
<td><div class="btn-group"> <td><div class="btn-group">
......
...@@ -4,7 +4,7 @@ finální řešení, finální oprava a přidělené body. Historii všech odevz ...@@ -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 %} finální (ve výchozím stavu poslední nahrané).{% endif %}
</i></p> </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. <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> </i></p>
...@@ -34,9 +34,14 @@ finální (ve výchozím stavu poslední nahrané).{% endif %} ...@@ -34,9 +34,14 @@ finální (ve výchozím stavu poslední nahrané).{% endif %}
<td>{% if sol.final_submit_obj %} <td>{% if sol.final_submit_obj %}
{% set p = sol.final_submit_obj %} {% set p = sol.final_submit_obj %}
{% set late = p.check_deadline(round) %} {% 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) }}'> <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> </a>
{% if p.uploaded_by_obj != u %} {% 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> <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 %} ...@@ -49,7 +54,12 @@ finální (ve výchozím stavu poslední nahrané).{% endif %}
<td>{% if sol.final_feedback_obj %} <td>{% if sol.final_feedback_obj %}
{% set p = 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) }}'> <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> </a>
{% set key = (obj.task_id if for_user else obj.user_id, "feedback") %} {% set key = (obj.task_id if for_user else obj.user_id, "feedback") %}
{% if key in paper_counts and paper_counts[key] > 1 %} {% if key in paper_counts and paper_counts[key] > 1 %}
......
...@@ -75,7 +75,14 @@ ...@@ -75,7 +75,14 @@
<tr> <tr>
<td>{{ task.code }}: {{ task.name }} <td>{{ task.code }}: {{ task.name }}
{% if sol.final_submit_obj %} {% 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 %} {% else %}
<td> <td>
{% endif %} {% endif %}
......
...@@ -61,8 +61,8 @@ ...@@ -61,8 +61,8 @@
{% for p in papers %} {% 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 %}> <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.uploaded_at|timeformat }}
<td>{{ p.pages }} <td>{% if p.broken %}nekorektní PDF{% else %}{{ p.pages|or_dash }}{% endif %}
<td>{{ p.bytes }} <td>{{ p.bytes|or_dash }}
<td>{{ p.uploaded_by_obj.full_name() }} <td>{{ p.uploaded_by_obj.full_name() }}
<td>{{ p.note }} <td>{{ p.note }}
<td><a class='btn btn-xs btn-primary' href='{{ url_for('user_paper', id=p.paper_id) }}'>Stáhnout</a> <td><a class='btn btn-xs btn-primary' href='{{ url_for('user_paper', id=p.paper_id) }}'>Stáhnout</a>
......
...@@ -106,7 +106,7 @@ table.data td.sol { ...@@ -106,7 +106,7 @@ table.data td.sol {
table.data td.sol a { table.data td.sol a {
color: black; color: black;
} }
table.data td.sol-late { table.data td.sol-warn {
background-color: #ffaaaa; background-color: #ffaaaa;
} }
...@@ -180,7 +180,7 @@ nav#main-menu a.active { ...@@ -180,7 +180,7 @@ nav#main-menu a.active {
background-color: yellow; background-color: yellow;
} }
.sol-late { .sol-warn {
color: red; color: red;
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment