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

Score: Statistiky pod výsledkovou listinou

parent c582cae3
No related branches found
No related tags found
No related merge requests found
...@@ -280,6 +280,12 @@ class Score: ...@@ -280,6 +280,12 @@ class Score:
tasks.append(task.task) tasks.append(task.task)
return list(sorted(tasks, key=lambda task: task.code)) return list(sorted(tasks, key=lambda task: task.code))
def get_task_difficulties(self) -> Dict[db.Task, Fraction]:
diffs = {}
for task in self._tasks[0].values():
diffs[task.task] = task.get_difficulty()
return diffs
def _add_message(self, type: str, message: str): def _add_message(self, type: str, message: str):
self._messages.append((type, message)) self._messages.append((type, message))
......
...@@ -90,6 +90,7 @@ def org_score(round_id: Optional[int] = None, hier_id: Optional[int] = None, ct_ ...@@ -90,6 +90,7 @@ def org_score(round_id: Optional[int] = None, hier_id: Optional[int] = None, ct_
score = Score(round.master, contest, ctx.hier_place) score = Score(round.master, contest, ctx.hier_place)
tasks = score.get_tasks() tasks = score.get_tasks()
difficulties = score.get_task_difficulties()
results = score.get_sorted_results() results = score.get_sorted_results()
messages = score.get_messages() messages = score.get_messages()
...@@ -249,8 +250,9 @@ def org_score(round_id: Optional[int] = None, hier_id: Optional[int] = None, ct_ ...@@ -249,8 +250,9 @@ def org_score(round_id: Optional[int] = None, hier_id: Optional[int] = None, ct_
return render_template( return render_template(
'org_score.html', 'org_score.html',
ctx=ctx, ctx=ctx,
tasks=tasks, tasks=tasks, difficulties=difficulties,
table=table, messages=messages, table=table, messages=messages,
num_results=len(results),
group_rounds=group_rounds, group_rounds=group_rounds,
snapshots_count=snapshots_count, snapshots_count=snapshots_count,
edit_form=edit_form, snapshot_form=snapshot_form, edit_form=edit_form, snapshot_form=snapshot_form,
......
...@@ -90,6 +90,26 @@ Rozkliknutím bodů se lze dostat na detail daného řešení.</p> ...@@ -90,6 +90,26 @@ Rozkliknutím bodů se lze dostat na detail daného řešení.</p>
{{ table.to_html() }} {{ table.to_html() }}
<div class="collapsible">
<input type="checkbox" class="toggle" id="stats-toggle">
<label for="stats-toggle" class="toggle toggle-small">
Statistiky
</label>
<div class="collapsible-inner">
<ul>
<li>Listina obsahuje celkem {{ num_results|inflected('účastníka', 'účastníky', 'účastníků') }}.
{% if num_results > 0 %}
<li>Průměrné počty bodů za úlohy:
<ul>
{% for t in tasks %}
<li>{{ t.code }}: {{ difficulties[t] }}
{% endfor %}
</ul>
{% endif %}
</ul>
</div>
</div>
{% if edit_form %} {% if edit_form %}
{{ wtf.form_field(edit_form.submit, class="btn btn-primary pull-right") }} {{ wtf.form_field(edit_form.submit, class="btn btn-primary pull-right") }}
</form> </form>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment