diff --git a/home/models.py b/home/models.py index ade477363d0de9ff77c48232bb63cf61c9ee1d1d..afeac392293f3af3b476d004d726bcafd3567f00 100644 --- a/home/models.py +++ b/home/models.py @@ -7,11 +7,28 @@ class InterludesActivity(models.Model): """une activité des interludes (i.e. JDR, murder)...""" title = models.CharField("Titre", max_length=200) duration = models.DurationField("Durée", help_text="format hh:mm:ss") + max_participants = models.PositiveIntegerField( + "Nombre maximum de participants", help_text="0 pour illimité" + ) + min_paricipants = models.PositiveIntegerField( + "Nombre minimum de participants" + ) display = models.BooleanField("Afficher cette activité", default=False) + must_book = models.BooleanField("Nécessite inscription", default=False) host_name = models.CharField("Nom de l'organisateur", max_length=50) host_email = models.EmailField("Email de l'organisateur") description = models.TextField("Description", max_length=2000) + @property + def nb_participants(self) -> str: + if self.max_participants == 0: + return "Illimité" + return "{} - {}".format(self.min_paricipants, self.max_participants) + + def __str__(self): + return self.title + + class InterludesParticipant(models.Model): """un participant aux interludes""" @@ -37,3 +54,4 @@ class ActivityList(models.Model): class Meta: # le couple participant, priority est unique unique_together = (("priority", "participant")) + ordering = ("participant", "priority") diff --git a/home/static/css/style.css b/home/static/css/style.css index a8c81ca421562bca11438f82ded33ebfbaa197e7..0343cc5cf1b5676b7def4d957b59077442a9ef43 100644 --- a/home/static/css/style.css +++ b/home/static/css/style.css @@ -147,18 +147,16 @@ main a:link { dl { list-style: none; display: grid; - grid-template-columns: 1fr 5fr; + grid-template-columns: 1fr 4fr; } dl dt { grid-column: 1 / span 1; justify-self: end; text-align: right; - margin: 5px 10px; font-weight: bold; - align-self: center; } dl dd { - margin: 5px 5px; + margin: 0 10px; justify-self: start; text-align: left; } diff --git a/home/templates/activites.html b/home/templates/activites.html index 6d7653b94ecab324e660f5c594104420b0ba45a3..5ea3ffbd4c4aca60b247b7acc652fa11965de5b4 100644 --- a/home/templates/activites.html +++ b/home/templates/activites.html @@ -2,6 +2,9 @@ {% block "content" %} <h2>Activités</h2> + <p>Durant tout l'événement, des jeux seront en libre-service et des tables disponibles pour jouer. + Certaines activités (JDRs, murders...) ne pourront se faire qu'avec inscription au vue d'un nombre de places limité. + </p> <p> TODO : planning et infos si vous voulez proposez une activité </p> @@ -11,7 +14,9 @@ <dl> <dt>Durée :</dt><dd>{{ activity.duration }}</dd> <dt>MJ :</dt><dd>{{ activity.host_name }}</dd> - <dt>Description :</dt><dd>{{ activity.description }}</dd> + <dt>Nombre de places :</dt><dd>{{ activity.nb_participants }}</dd> + <dt>Sur inscription :</dt><dd>{% if activity.must_book %} Oui {% else %} Non {% endif %}</dd> + <dt>Description :</dt><dd>{{ activity.description|linebreaksbr }}</dd> </dl> {% endfor %} {% endblock %} \ No newline at end of file diff --git a/home/views.py b/home/views.py index d304e9f79a0b9d984e06462ccb38e06b3588d074..9fc11067dc71dd49686357a3b77bca8a9c326697 100644 --- a/home/views.py +++ b/home/views.py @@ -5,7 +5,7 @@ from django.urls import reverse from home.models import InterludesActivity def static_view(request, slug): - activities = InterludesActivity.objects.filter(display=True) + activities = InterludesActivity.objects.filter(display=True).order_by("title") return render(request, slug+'.html', {'slug': slug, 'activities': activities})