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 @@
- {{ date|date:"l d F Y" }} |
+ {{ date|date:"l j F Y" }} |
@@ -20,8 +20,22 @@
{{ trainingprogram.rank }} |
{{ trainingprogram.passe.label }} {{ trainingprogram.passe.repetition }} |
- {{ trainingprogram.passe.number_of_skill}} |
+ {{ trainingprogram.passe.number_of_skill}} |
{{ trainingprogram.passe.difficulty }} |
+ {% if request.user|has_group:"trainer" %}
+
+
+
+
+
+
+
+ |
+ {% endif %}
{% endfor %}
@@ -29,6 +43,9 @@
TOTAL |
{{ number_of_skill }} |
{{ difficulty }} |
+ {% if request.user|has_group:"trainer" %}
+ |
+ {% endif %}
{% 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 @@