From 96539d262f262aae4cfa92717b92134412ae25cd Mon Sep 17 00:00:00 2001 From: mcngnt Date: Thu, 29 Aug 2024 00:05:44 +0200 Subject: [PATCH] working html for survey + fixed json error + added specific diet text field --- apps/wei/forms/surveys/wei2024.py | 38 +++++++++++++++---- .../0009_weiregistration_specific_diet.py | 18 +++++++++ apps/wei/models.py | 6 +++ apps/wei/templates/wei/1A_list.html | 2 +- apps/wei/templates/wei/attribute_bus_1A.html | 3 ++ .../wei/templates/wei/weimembership_form.html | 3 ++ 6 files changed, 61 insertions(+), 9 deletions(-) create mode 100644 apps/wei/migrations/0009_weiregistration_specific_diet.py diff --git a/apps/wei/forms/surveys/wei2024.py b/apps/wei/forms/surveys/wei2024.py index 891eb7ff..5e2d2b60 100644 --- a/apps/wei/forms/surveys/wei2024.py +++ b/apps/wei/forms/surveys/wei2024.py @@ -1,9 +1,12 @@ # Copyright (C) 2018-2024 by BDE ENS Paris-Saclay # SPDX-License-Identifier: GPL-3.0-or-later +import json + from functools import lru_cache from django import forms +from django.utils.safestring import mark_safe from django.db import transaction from django.db.models import Q @@ -13,7 +16,7 @@ from ...models import WEIMembership buses_descr = [ [ - "Magi[Kar]p", "#ef5568", 0, + "Magi[Kar]p 🐙🎼đŸŽČ", "#ef5568", 1, """Vous l'aurez compris au nom du bus, l'ambiance est aux jeux et Ă  la culture geek ! Ici, vous trouverez une ambiance calme avec une bonne dose d'autodĂ©rision et de second degrĂ©. Que vous ayez besoin de beaucoup dormir pour tenir la soirĂ©e du lendemain, ou que vous souhaitiez faire nuit blanche pour jouer toute la nuit, vous pouvez nous rejoindre. Votre voix @@ -21,13 +24,13 @@ buses_descr = [ siphonner !""", ], [ - "Va[car]me", "#fd7a28", 0, + "Va[car]me đŸŽ·đŸŽđŸ”Š", "#fd7a28", 3, """Ici c'est le bus du bruit. Que ce soit les groupes de musique du Bureau des Arts ou la fanfare, on sera lĂ  pour vous ambiancer ! On fera en sorte que vous vous souveniez de votre WEI et de son Vacarme !""", ], [ "[Kar]aĂŻbes", "#a5cfdd", 0, - """Bus dans le thĂšme des CaraĂŻbes 
 đŸŹđŸŽâ€â˜ ïžđŸŹ""", + """Ahoy, explorateurs du WEI ! Le bus Karaibes t’invite Ă  une traversĂ©e sous les tropiques, oĂč l’ambiance est toujours au beau fixe ! ☀đŸč Ici, c’est soleil, rhum, et bonne humeur assurĂ©e : une atmosphĂšre de vacances oĂč l’on se laisse porter par la chaleur humaine et la fĂȘte. Que tu sois un pirate en quĂȘte de sensations fortes ou un amateur de chill avec un cocktail Ă  la main, tu seras Ă  ta place dans notre bus. Les soirĂ©es seront marquĂ©es par des rythmes tropicaux qui te feront vibrer jusqu’à l’aube. PrĂȘt Ă  embarquer pour une aventure inoubliable avec les meilleurs matelots du WEI ? On t’attend sur le pont du Karaibes pour lever l’ancre ensemble !""", ], [ "[Kar]di [Bus]", "#e46398", 0, @@ -39,19 +42,19 @@ buses_descr = [ Bus !""", ], [ - "Sparta[bus] 🏉", "#ebdac2", 0, + "Sparta[bus] đŸș🐒🏉", "#ebdac2", 0, """Dans notre bus, on vous donne un avant goĂ»t des plus grandes assos de l'ENS : les Kyottes et l'Aspique (clubs de rugby fĂ©minin et masculin, mais pas que). Bien entendu, qui dit rugby dit les copaings, le pastaga et la Pena Bayona, mais vous verrez par vous mĂȘme qu'on est ouvert⋅e Ă  toutes propositions quand il s'agit de faire la fĂȘte. Pour les casse-cous comme pour les plus calmes, vous trouverez au bus Aspique-Kyottes les 2A+ qui vous feront kiffer votre WEI.""", ], [ - "Zanzo[Bus]", "#FFFF", 0, + "Zanzo[Bus] đŸ€©đŸ‘œđŸ”", "#FFFF", 3, """Dans un entre-trois bien senti entre zinzinerie, enfance et vieillerie, le Zanzo[BUS] est un concentrĂ© de fun mĂȘlĂ© Ă  de la dinguerie Ă  gogo. N'hĂ©sitez plus et rejoignez-nous pour un WEI toujours plus dĂ©jantĂ© !""", ], [ - "Bran[Kar] đŸ„ł", "#6da1ac", 3.5, + "Bran[Kar] đŸčđŸ„ł", "#6da1ac", 4, """Si vous ne connaissez pas le Bran[Kar], c’est comme une grande famille qui fait un apĂ©ro, qui se bourre un peu la gueule en discutant des heures autour d’une table remplie de bouffe et de super bons cocktails (la plupart des barmen/barwomen du bus sont les barmans de Shakens), sauf qu’on est un bus du Wei (vous comprendrez bien le nom de notre @@ -79,12 +82,30 @@ buses_descr = [ ] +def print_survey_info(i): + s = {"recap": { + "1": 0, + }} + s_ = {f"bus{i}": {f"{i}": 0 for i in range(1, 5 + 1)} for i in range(len(buses_descr))} + s.update(s_) + s.update({f"bus{i}": {f"{join}": join for join in range(1, 5 + 1)}}) + s = {"scores": s} + json_str = json.dumps(s) + print(json_str) + + + + def print_bus(i): return f"""

{buses_descr[i][0]}


AlcoolomĂštre : {buses_descr[i][2]} / 5 đŸ»

{buses_descr[i][3]}
""" + + def print_all_buses(): + # for i in range(len(buses_descr)): + # print_survey_info(i) liste = [print_bus(i) for i in range(len(buses_descr))] return "



".join(liste) @@ -129,7 +150,7 @@ WORDS.update({ class WEISurveyForm2024(forms.Form): """ Survey form for the year 2024. - Members answer 10 questions, from which we calculate the best associated bus. + Members score the different buses, from which we calculate the best associated bus. """ def set_registration(self, registration): """ @@ -139,7 +160,7 @@ class WEISurveyForm2024(forms.Form): question = information.questions[information.step] self.fields[question] = forms.ChoiceField( - label=WORDS[question][0], + label=mark_safe(WORDS[question][0]), widget=forms.RadioSelect(), ) answers = [(answer, WORDS[question][1][answer]) for answer in WORDS[question][1]] @@ -224,6 +245,7 @@ class WEISurvey2024(WEISurvey): raise ValueError("Survey is not ended, can't calculate score") bus_info = self.get_algorithm_class().get_bus_information(bus) + print(bus_info) # Score is the given score by the bus subtracted to the mid-score of the buses. s = 0 for question in WORDS: diff --git a/apps/wei/migrations/0009_weiregistration_specific_diet.py b/apps/wei/migrations/0009_weiregistration_specific_diet.py new file mode 100644 index 00000000..8fa0f82a --- /dev/null +++ b/apps/wei/migrations/0009_weiregistration_specific_diet.py @@ -0,0 +1,18 @@ +# Generated by Django 4.2.15 on 2024-08-28 20:47 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('wei', '0008_auto_20240111_1545'), + ] + + operations = [ + migrations.AddField( + model_name='weiregistration', + name='specific_diet', + field=models.TextField(blank=True, default='', verbose_name='specific diet'), + ), + ] diff --git a/apps/wei/models.py b/apps/wei/models.py index 76fd465d..80584268 100644 --- a/apps/wei/models.py +++ b/apps/wei/models.py @@ -232,6 +232,12 @@ class WEIRegistration(models.Model): verbose_name=_("health issues"), ) + specific_diet = models.TextField( + blank=True, + default="", + verbose_name=_("specific diet"), + ) + emergency_contact_name = models.CharField( max_length=255, verbose_name=_("emergency contact name"), diff --git a/apps/wei/templates/wei/1A_list.html b/apps/wei/templates/wei/1A_list.html index d9b82937..9229fa22 100644 --- a/apps/wei/templates/wei/1A_list.html +++ b/apps/wei/templates/wei/1A_list.html @@ -12,7 +12,7 @@
{% render_table bus_repartition_table %}
- {% trans "Start attribution!" %} + {% trans "Start attribution !" %}
{% render_table table %}
diff --git a/apps/wei/templates/wei/attribute_bus_1A.html b/apps/wei/templates/wei/attribute_bus_1A.html index 3305981b..89dc692b 100644 --- a/apps/wei/templates/wei/attribute_bus_1A.html +++ b/apps/wei/templates/wei/attribute_bus_1A.html @@ -28,6 +28,9 @@
{% trans 'health issues'|capfirst %}
{{ object.health_issues|default:"—" }}
+
{% trans 'specific diet'|capfirst %}
+
{{ object.specific_diet|default:"—" }}
+
{% trans 'suggested bus'|capfirst %}
{{ survey.information.selected_bus_name }}
diff --git a/apps/wei/templates/wei/weimembership_form.html b/apps/wei/templates/wei/weimembership_form.html index 017b0dd7..ec6ebed4 100644 --- a/apps/wei/templates/wei/weimembership_form.html +++ b/apps/wei/templates/wei/weimembership_form.html @@ -67,6 +67,9 @@ SPDX-License-Identifier: GPL-3.0-or-later
{% trans 'health issues'|capfirst %}
{{ registration.health_issues }}
+
{% trans 'specific diet'|capfirst %}
+
{{ registration.specific_diet }}
+
{% trans 'emergency contact name'|capfirst %}
{{ registration.emergency_contact_name }}