mirror of https://gitlab.crans.org/bde/nk20
working html for survey + fixed json error + added specific diet text field
This commit is contained in:
parent
946674f59b
commit
96539d262f
|
@ -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"""<h1 style="color:{buses_descr[i][1]};-webkit-text-stroke: 2px black;font-size: 50px;">{buses_descr[i][0]}</h1><br>
|
||||
<b>Alcoolomètre : {buses_descr[i][2]} / 5 🍻</b><br><br>{buses_descr[i][3]}<br>"""
|
||||
|
||||
|
||||
|
||||
|
||||
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 "<br><br><br><br>".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:
|
||||
|
|
|
@ -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'),
|
||||
),
|
||||
]
|
|
@ -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"),
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
<div class="card-body">
|
||||
{% render_table bus_repartition_table %}
|
||||
<hr>
|
||||
<a href="{% url 'wei:wei_bus_1A_next' pk=club.pk %}" class="btn btn-block btn-success">{% trans "Start attribution!" %}</a>
|
||||
<a href="{% url 'wei:wei_bus_1A_next' pk=club.pk %}" class="btn btn-block btn-success">{% trans "Start attribution !" %}</a>
|
||||
<hr>
|
||||
{% render_table table %}
|
||||
</div>
|
||||
|
|
|
@ -28,6 +28,9 @@
|
|||
<dt class="col-xl-6">{% trans 'health issues'|capfirst %}</dt>
|
||||
<dd class="col-xl-6">{{ object.health_issues|default:"—" }}</dd>
|
||||
|
||||
<dt class="col-xl-6">{% trans 'specific diet'|capfirst %}</dt>
|
||||
<dd class="col-xl-6">{{ object.specific_diet|default:"—" }}</dd>
|
||||
|
||||
<dt class="col-xl-6">{% trans 'suggested bus'|capfirst %}</dt>
|
||||
<dd class="col-xl-6">{{ survey.information.selected_bus_name }}</dd>
|
||||
</dl>
|
||||
|
|
|
@ -67,6 +67,9 @@ SPDX-License-Identifier: GPL-3.0-or-later
|
|||
<dt class="col-xl-6">{% trans 'health issues'|capfirst %}</dt>
|
||||
<dd class="col-xl-6">{{ registration.health_issues }}</dd>
|
||||
|
||||
<dt class="col-xl-6">{% trans 'specific diet'|capfirst %}</dt>
|
||||
<dd class="col-xl-6">{{ registration.specific_diet }}</dd>
|
||||
|
||||
<dt class="col-xl-6">{% trans 'emergency contact name'|capfirst %}</dt>
|
||||
<dd class="col-xl-6">{{ registration.emergency_contact_name }}</dd>
|
||||
|
||||
|
|
Loading…
Reference in New Issue