diff --git a/jarvis/objective/models.py b/jarvis/objective/models.py index 5586fb0..ed801e5 100644 --- a/jarvis/objective/models.py +++ b/jarvis/objective/models.py @@ -523,7 +523,10 @@ class Passe(Markdownizable): def __str__(self): if self.label: - return f"{self.label} ({self.number_of_skill} | {self.difficulty})" + if self.regexp: + return f"{self.label} {self.regexp} ({self.number_of_skill} | {self.difficulty})" + else: + return f"{self.label} ({self.number_of_skill} | {self.difficulty})" else: return f"- ({self.number_of_skill} | {self.difficulty})" diff --git a/jarvis/objective/templates/trainingprograms/details.html b/jarvis/objective/templates/trainingprograms/details.html index b775192..4138e8c 100644 --- a/jarvis/objective/templates/trainingprograms/details.html +++ b/jarvis/objective/templates/trainingprograms/details.html @@ -12,7 +12,7 @@ - + @@ -20,8 +20,22 @@ - + + {% if request.user|has_group:"trainer" %} + + {% endif %} {% endfor %} @@ -29,6 +43,9 @@ + {% if request.user|has_group:"trainer" %} + + {% endif %}
{{ date|date:"l d F Y" }}{{ date|date:"l j F Y" }}
{{ trainingprogram.rank }} {{ trainingprogram.passe.label }} {{ trainingprogram.passe.repetition }}{{ trainingprogram.passe.number_of_skill}}{{ trainingprogram.passe.number_of_skill}} {{ trainingprogram.passe.difficulty }} + + + + + + +
TOTAL {{ number_of_skill }} {{ difficulty }}
{% endif %} @@ -36,4 +53,39 @@ +{% endblock %} + +{% block footerscript %} + {% endblock %} \ No newline at end of file diff --git a/jarvis/objective/urls.py b/jarvis/objective/urls.py index 93499e2..e77b490 100644 --- a/jarvis/objective/urls.py +++ b/jarvis/objective/urls.py @@ -107,4 +107,9 @@ urlpatterns = [ views.trainingprogram_details, name="trainingprogram_details", ), + path( + r"trainingprogram/switch_trainingprogram_line/", + views.switch_trainingprogram_line, + name="switch_trainingprogram_line", + ), ] diff --git a/jarvis/objective/views.py b/jarvis/objective/views.py index 7085bc3..b69c920 100644 --- a/jarvis/objective/views.py +++ b/jarvis/objective/views.py @@ -590,3 +590,38 @@ def trainingprogram_details(request, date=None, gymnast_id=None): "trainingprogram_list": trainingprogram_list, } return render(request, "trainingprograms/details.html", context) + + +@require_http_methods(["POST"]) +def switch_trainingprogram_line(request): + """ + Recoit dans request deux identifiants de trainingprogram qu'il faut échanger () : + - tp1 (int) identifiant d'une instance de TraiingProgram + - tp2 (int) identifiant d'une instance de TraiingProgram + + J'utilise `32767` comme valeur intermédiaire pour le `rank` car c'est la limite supérieure d'un + PositiveSmallIntegerField. + """ + try: + target_trainingprogram_id = request.POST.get("tp1", None) + source_trainingprogram_id = request.POST.get("tp2", None) + + target_trainingprogram = get_object_or_404( + TrainingProgram, pk=target_trainingprogram_id + ) + source_trainingprogram = get_object_or_404( + TrainingProgram, pk=source_trainingprogram_id + ) + + saved_source_rank = source_trainingprogram.rank + saved_target_rank = target_trainingprogram.rank + source_trainingprogram.rank = 32767 + source_trainingprogram.save() + target_trainingprogram.rank = saved_source_rank + target_trainingprogram.save() + source_trainingprogram.rank = saved_target_rank + source_trainingprogram.save() + except Exception: + return HttpResponse(409) + + return HttpResponse(200) diff --git a/jarvis/people/templates/gymnasts/tabs/tab_intensity_and_chronos.html b/jarvis/people/templates/gymnasts/tabs/tab_intensity_and_chronos.html index 845a621..79f3b92 100644 --- a/jarvis/people/templates/gymnasts/tabs/tab_intensity_and_chronos.html +++ b/jarvis/people/templates/gymnasts/tabs/tab_intensity_and_chronos.html @@ -3,7 +3,7 @@
-
+

Intensity statistics

@@ -35,7 +35,7 @@
-
+

Chronos

@@ -75,7 +75,7 @@
-
+
@@ -84,15 +84,12 @@
{% if date_list %} {% for date in date_list %} - {{ date|date:"l d F Y" }} + {{ date|date:"l j F Y" }} {% endfor %} {% else %} - Pas de training planifié. +

Pas de training planifié.

{% endif %}
-