diff --git a/Docs/Zones CDG 2022.md b/Docs/Zones CDG 2022.md
deleted file mode 100644
index e81000f..0000000
--- a/Docs/Zones CDG 2022.md
+++ /dev/null
@@ -1,15 +0,0 @@
-**Zone : salle 202**
-***Mdp :*** 1200
-***Description :***
-Bienvenue dans l’antre de Mendeleïev ! Pour trouver le code de cette salle, rendez-vous près du tableau périodique et effectuez la somme des numéros atomiques de tous les éléments commençant par les lettres P et R.
-
-**Zone : salle 209**
-***Mdp :*** 1365
-***Description :***
-Bienvenue dans l'antre de la robotique. Pour sortir de la salle, commencez d'abord par chercher où se trouvent les petits robots bleus. Allumez ensuite dans l'ordre les robots 2, 4, 6 et 8. A l'allumage, chaque robot fournit un code de couleur qui correspond à un chiffre (voir feuille collée sur l'armoire). Le code pour sortir de la salle correspond à l'assemblage de ces 4 chiffres !
-Nb : Si vous voulez revoir le code couleur d'un robot, il suffit de l'éteindre et de la rallumer. Merci d'éteindre les robots une fois le code trouvé !
-
-**Zone : toiture terrasse**
-***Mdp :*** 9412
-***Description :***
-Contrairement à ce que l’on pourrait croire, la « toiture terrasse inaccessible » du CDI, n’est pas si inaccessible qu’il n’y paraît. À vous de trouver comment vous y rendre. Une fois sur place, regardez votre plan, le code se trouve sur l’objet représenté par un cercle noir.
\ No newline at end of file
diff --git a/EscapeGame/templates/admin_template.html b/EscapeGame/templates/admin_template.html
index b9b4219..35f683b 100644
--- a/EscapeGame/templates/admin_template.html
+++ b/EscapeGame/templates/admin_template.html
@@ -58,8 +58,8 @@ aria-expanded="true" aria-controls="collapseTwo">
+
{{zone.description |safe}}
{% if zone.description %}
diff --git a/app/urls.py b/app/urls.py
index 9a505b2..974dea4 100644
--- a/app/urls.py
+++ b/app/urls.py
@@ -11,5 +11,6 @@ urlpatterns = [
path('dashboard/', views.createNewGame, name='createNewGame'),
path('admin-dashboard/', views.dashboard, name='admin-dashboard'),
path('admin-distances/', views.distances, name='admin-distances'),
+ path('settings/', views.settings, name='settings'),
path('dashboard/createNewGame', views.createNewGame, name='createNewGame'),
]
diff --git a/app/views.py b/app/views.py
index 4c904b0..5545842 100644
--- a/app/views.py
+++ b/app/views.py
@@ -105,7 +105,7 @@ def setEquipe(request):
max_rank = Challenge.objects.filter(equipe=equipe).aggregate(max_rank=Max("rank"))['max_rank']
if max_rank is None:
max_rank = 0
- if max_rank < apps.get_app_config('app').nb_challenges:
+ if max_rank < getSettings().nb_challenges:
context = {
'zone': getMaxChallenge(Equipe.objects.get(code=request.session['equipe_code'])).zone.nom,
'equipe_nom': request.session['equipe_nom'],
@@ -126,7 +126,7 @@ def dashboard(request):
return redirect("/admin/login/?next=/admin-dashboard")
template = loader.get_template('app/dashboard.html')
- liste_equipe = Equipe.objects.all()
+ liste_equipe = Equipe.objects.all().order_by('nom')
liste_equipe_challenges = list()
for equipe in liste_equipe:
@@ -163,7 +163,7 @@ def dashboard(request):
liste_equipe_challenges.append(data)
nb_challenges = list()
- for i in range(apps.get_app_config('app').nb_challenges):
+ for i in range(getSettings().nb_challenges):
nb_challenges.append(i+1)
context = {
@@ -215,6 +215,34 @@ def distances(request):
'title': "Gestion des distances",
}
return HttpResponse(template.render(context, request))
+
+def settings(request):
+ template = loader.get_template('app/settings.html')
+ if request.method == 'POST':
+ form = SettingsForm(request.POST)
+ if form.is_valid():
+ settings = getSettings()
+ if settings is None:
+ settings = Settings(nb_challenges = int(form.cleaned_data['nb_challenges']))
+ settings.save()
+ else:
+ settings.nb_challenges = int(form.cleaned_data['nb_challenges'])
+ settings.save()
+ try:
+ settings = Settings.objects.all()[0]
+ initial_values = {
+ "nb_challenges":settings.nb_challenges,
+ }
+ context = {
+ 'form': SettingsForm(initial = initial_values),
+ 'title': "Paramètres",
+ }
+ except IndexError:
+ context = {
+ 'form': SettingsForm(),
+ 'title': "Paramètres",
+ }
+ return HttpResponse(template.render(context, request))
"""
Fonction createNewGame