From 49066a71d94309245d2260ee1fbf96d8ba8d7f4c Mon Sep 17 00:00:00 2001 From: LeSeulArtichaut Date: Thu, 12 Dec 2024 02:09:14 +0100 Subject: [PATCH] petitscours: dropdown pour facilement modifier le niveau d'une demande 'autre' --- .../petitscours/details_demande_infos.html | 15 ++++++++++++++- petitscours/views.py | 8 ++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/petitscours/templates/petitscours/details_demande_infos.html b/petitscours/templates/petitscours/details_demande_infos.html index 42f37d56..2dfcbecb 100644 --- a/petitscours/templates/petitscours/details_demande_infos.html +++ b/petitscours/templates/petitscours/details_demande_infos.html @@ -8,7 +8,20 @@ Quand {{ demande.quand }} Fréquence {{ demande.freq }} Matières {% for matiere in demande.matieres.all %}{% if forloop.counter0 > 0 %}, {% endif %}{{ matiere }}{% endfor %} - Niveau souhaité {{ demande.get_niveau_display }} + Niveau souhaité + {% if levels %} +
+ {% csrf_token %} + +
+ {% else %} + {{ demande.get_niveau_display }} + {% endif %} + Agrégé requis Remarques {{ demande.remarques }} diff --git a/petitscours/views.py b/petitscours/views.py index dd4a2662..39a29e27 100644 --- a/petitscours/views.py +++ b/petitscours/views.py @@ -17,6 +17,7 @@ from gestioncof.decorators import buro_required from gestioncof.models import CofProfile from petitscours.forms import DemandeForm, MatieresFormSet from petitscours.models import ( + LEVELS_CHOICES, PetitCoursAbility, PetitCoursAttribution, PetitCoursAttributionCounter, @@ -169,6 +170,12 @@ def _traitement_other_preparing(request, demande): def _traitement_other(request, demande, redo): if request.method == "POST": + if "niveau" in request.POST: + demande.niveau = request.POST["niveau"] + demande.save() + return redirect( + reverse("petits-cours-demande-traitement", args=(demande.id,)) + ) if "preparing" in request.POST: return _traitement_other_preparing(request, demande) else: @@ -181,6 +188,7 @@ def _traitement_other(request, demande, redo): "demande": demande, "unsatisfied": unsatisfied, "proposals": proposals.items(), + "levels": LEVELS_CHOICES, }, )