mirror of
https://gitlab.com/animath/si/plateforme.git
synced 2024-11-30 03:33:03 +00:00
9092cf1846
Signed-off-by: Emmy D'Anello <emmy.danello@animath.fr>
194 lines
8.6 KiB
HTML
194 lines
8.6 KiB
HTML
{% extends "base.html" %}
|
|
|
|
{% load django_tables2 i18n %}
|
|
|
|
{% block content %}
|
|
{% trans "any" as any %}
|
|
<div class="card bg-body shadow">
|
|
<div class="card-header text-center">
|
|
<h4>
|
|
{{ passage }}
|
|
{% if user.registration.is_admin or user.registration in passage.pool.tournament.organizers.all %}
|
|
<button class="btn btn-sm btn-secondary"
|
|
data-bs-toggle="modal" data-bs-target="#updatePassageModal">
|
|
<i class="fas fa-edit"></i>
|
|
{% trans "Update" %}
|
|
</button>
|
|
{% endif %}
|
|
</h4>
|
|
</div>
|
|
<div class="card-body">
|
|
<dl class="row">
|
|
<dt class="col-sm-3">{% trans "Pool:" %}</dt>
|
|
<dd class="col-sm-9"><a href="{{ passage.pool.get_absolute_url }}">{{ passage.pool }}</a></dd>
|
|
|
|
<dt class="col-sm-3">{% trans "Position:" %}</dt>
|
|
<dd class="col-sm-9">{{ passage.position }}</dd>
|
|
|
|
<dt class="col-sm-3">{% trans "Defender:" %}</dt>
|
|
<dd class="col-sm-9"><a href="{{ passage.defender.get_absolute_url }}">{{ passage.defender.team }}</a></dd>
|
|
|
|
<dt class="col-sm-3">{% trans "Opponent:" %}</dt>
|
|
<dd class="col-sm-9"><a href="{{ passage.opponent.get_absolute_url }}">{{ passage.opponent.team }}</a></dd>
|
|
|
|
<dt class="col-sm-3">{% trans "Reporter:" %}</dt>
|
|
<dd class="col-sm-9"><a href="{{ passage.reporter.get_absolute_url }}">{{ passage.reporter.team }}</a></dd>
|
|
|
|
{% if passage.observer %}
|
|
<dt class="col-sm-3">{% trans "Observer:" %}</dt>
|
|
<dd class="col-sm-9"><a href="{{ passage.observer.get_absolute_url }}">{{ passage.observer.team }}</a></dd>
|
|
{% endif %}
|
|
|
|
<dt class="col-sm-3">{% trans "Defended solution:" %}</dt>
|
|
<dd class="col-sm-9"><a href="{{ passage.defended_solution.file.url }}">{{ passage.defended_solution }}</a></dd>
|
|
|
|
<dt class="col-sm-3">{% trans "Defender penalties count:" %}</dt>
|
|
<dd class="col-sm-9">{{ passage.defender_penalties }}</dd>
|
|
|
|
<dt class="col-sm-3">{% trans "Syntheses:" %}</dt>
|
|
<dd class="col-sm-9">
|
|
{% for synthesis in passage.syntheses.all %}
|
|
<a href="{{ synthesis.file.url }}">{{ synthesis }}{% if not forloop.last %}, {% endif %}</a>
|
|
{% empty %}
|
|
{% trans "No synthesis was uploaded yet." %}
|
|
{% endfor %}
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
{% if notes is not None %}
|
|
<div class="card-footer text-center">
|
|
{% if my_note is not None %}
|
|
<button class="btn btn-info" data-bs-toggle="modal" data-bs-target="#{{ my_note.modal_name }}Modal">{% trans "Update notes" %}</button>
|
|
{% endif %}
|
|
</div>
|
|
{% elif user.registration.participates %}
|
|
<div class="card-footer text-center">
|
|
<button class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#uploadSynthesisModal">{% trans "Upload synthesis" %}</button>
|
|
</div>
|
|
{% endif %}
|
|
</div>
|
|
|
|
{% if notes %}
|
|
<hr>
|
|
|
|
<h2>{% trans "Notes detail" %}</h2>
|
|
|
|
{% render_table notes %}
|
|
|
|
<div class="card bg-body shadow">
|
|
<div class="card-body">
|
|
<dl class="row">
|
|
<dt class="col-sm-8">
|
|
{% trans "Average points for the defender writing" %}
|
|
({{ passage.defender.team.trigram }}) :
|
|
</dt>
|
|
<dd class="col-sm-4">{{ passage.average_defender_writing|floatformat }}/20</dd>
|
|
|
|
<dt class="col-sm-8">
|
|
{% trans "Average points for the defender oral" %}
|
|
({{ passage.defender.team.trigram }}) :
|
|
</dt>
|
|
<dd class="col-sm-4">{{ passage.average_defender_oral|floatformat }}/16</dd>
|
|
|
|
<dt class="col-sm-8">
|
|
{% trans "Average points for the opponent writing" %}
|
|
({{ passage.opponent.team.trigram }}) :
|
|
</dt>
|
|
<dd class="col-sm-4">{{ passage.average_opponent_writing|floatformat }}/9</dd>
|
|
|
|
<dt class="col-sm-8">
|
|
{% trans "Average points for the opponent oral" %}
|
|
({{ passage.opponent.team.trigram }}) :
|
|
</dt>
|
|
<dd class="col-sm-4">{{ passage.average_opponent_oral|floatformat }}/10</dd>
|
|
|
|
<dt class="col-sm-8">
|
|
{% trans "Average points for the reporter writing" %}
|
|
({{ passage.reporter.team.trigram }}) :
|
|
</dt>
|
|
<dd class="col-sm-4">{{ passage.average_reporter_writing|floatformat }}/9</dd>
|
|
|
|
<dt class="col-sm-8">
|
|
{% trans "Average points for the reporter oral" %}
|
|
({{ passage.reporter.team.trigram }}) :
|
|
</dt>
|
|
<dd class="col-sm-4">{{ passage.average_reporter_oral|floatformat }}/10</dd>
|
|
|
|
{% if passage.observer %}
|
|
<dt class="col-sm-8">
|
|
{% trans "Average points for the observer oral" %}
|
|
({{ passage.observer.team.trigram }}) :
|
|
</dt>
|
|
<dd class="col-sm-4">{{ passage.average_observer|floatformat }}/4</dd>
|
|
{% endif %}
|
|
</dl>
|
|
|
|
<hr>
|
|
|
|
<dl class="row">
|
|
<dt class="col-sm-8">
|
|
{% trans "Defender points" %}
|
|
({{ passage.defender.team.trigram }}) :
|
|
</dt>
|
|
<dd class="col-sm-4">{{ passage.average_defender|floatformat }}/52</dd>
|
|
|
|
<dt class="col-sm-8">
|
|
{% trans "Opponent points" %}
|
|
({{ passage.opponent.team.trigram }}) :
|
|
</dt>
|
|
<dd class="col-sm-4">{{ passage.average_opponent|floatformat }}/29</dd>
|
|
|
|
<dt class="col-sm-8">
|
|
{% trans "Reporter points" %}
|
|
({{ passage.reporter.team.trigram }}) :
|
|
</dt>
|
|
<dd class="col-sm-4">{{ passage.average_reporter|floatformat }}/19</dd>
|
|
|
|
{% if passage.observer %}
|
|
<dt class="col-sm-8">
|
|
{% trans "Observer points" %}
|
|
({{ passage.observer.team.trigram }}) :
|
|
</dt>
|
|
<dd class="col-sm-4">{{ passage.average_observer|floatformat }}/4</dd>
|
|
{% endif %}
|
|
</dl>
|
|
</div>
|
|
</div>
|
|
{% endif %}
|
|
|
|
{% if notes is not None %}
|
|
{% trans "Update passage" as modal_title %}
|
|
{% trans "Update" as modal_button %}
|
|
{% url "participation:passage_update" pk=passage.pk as modal_action %}
|
|
{% include "base_modal.html" with modal_id="updatePassage" %}
|
|
|
|
{% for note in notes.data %}
|
|
{% trans "Update notes" as modal_title %}
|
|
{% trans "Update" as modal_button %}
|
|
{% url "participation:update_notes" pk=note.pk as modal_action %}
|
|
{% include "base_modal.html" with modal_id=note.modal_name %}
|
|
{% endfor %}
|
|
{% elif user.registration.participates %}
|
|
{% trans "Upload synthesis" as modal_title %}
|
|
{% trans "Upload" as modal_button %}
|
|
{% url "participation:upload_synthesis" pk=passage.pk as modal_action %}
|
|
{% include "base_modal.html" with modal_id="uploadSynthesis" modal_enctype="multipart/form-data" %}
|
|
{% endif %}
|
|
{% endblock %}
|
|
|
|
{% block extrajavascript %}
|
|
<script>
|
|
document.addEventListener('DOMContentLoaded', () => {
|
|
{% if notes is not None %}
|
|
initModal("updatePassage", "{% url "participation:passage_update" pk=passage.pk %}")
|
|
|
|
{% for note in notes.data %}
|
|
initModal("{{ note.modal_name }}", "{% url "participation:update_notes" pk=note.pk %}")
|
|
{% endfor %}
|
|
{% elif user.registration.participates %}
|
|
initModal("uploadSynthesis", "{% url "participation:upload_synthesis" pk=passage.pk %}")
|
|
{% endif %}
|
|
});
|
|
</script>
|
|
{% endblock %}
|