Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • mediatek/site-interludes
  • aeltheos/site-kwei
  • mediatek/site-kwei
3 results
Show changes
Commits on Source (36)
Showing
with 225 additions and 85 deletions
...@@ -19,7 +19,7 @@ Ce répo est diffusé sous une [license MIT](https://choosealicense.com/licenses ...@@ -19,7 +19,7 @@ Ce répo est diffusé sous une [license MIT](https://choosealicense.com/licenses
Pour installer toutes les dépendances et lancer le serveur : Pour installer toutes les dépendances et lancer le serveur :
git clone https://github.com/dlesbre/site-interludes.git && git clone https://gitlab.crans.org/mediatek/site-interludes.git &&
cd site-interlude && cd site-interlude &&
python3 -m venv venv && python3 -m venv venv &&
source venv/bin/activate && source venv/bin/activate &&
...@@ -112,7 +112,7 @@ Le site se gère depuis deux pages d'administration: ...@@ -112,7 +112,7 @@ Le site se gère depuis deux pages d'administration:
## En production ## En production
Le serveur a besoin d'être configuré pour HTTPS et d'être configuré pour livrer directement les fichiers situés des `/static/`. Le serveur a besoin d'être configuré pour HTTPS et d'être configuré pour livrer directement les fichiers situés dans `/static/` et `/media/`.
1. Installer les dépendances `make install` 1. Installer les dépendances `make install`
...@@ -144,3 +144,4 @@ A.K.A. la liste des trucs utiles que j'ai pas eu le temps d'ajouter ...@@ -144,3 +144,4 @@ A.K.A. la liste des trucs utiles que j'ai pas eu le temps d'ajouter
- [Le gitlab du site des 48h des jeux](https://git.eleves.ens.fr/dlesbre/48h-des-jeux) un événement très similaire intra-ENS Ulm, c'est fork de ce répo. - [Le gitlab du site des 48h des jeux](https://git.eleves.ens.fr/dlesbre/48h-des-jeux) un événement très similaire intra-ENS Ulm, c'est fork de ce répo.
- [Le site des 48h des jeux](https://48hdesjeux.cof.ens.fr/) - [Le site des 48h des jeux](https://48hdesjeux.cof.ens.fr/)
- [Le site du club jeu d'Ulm](https://jeux.cof.ens.fr/) - [Le site du club jeu d'Ulm](https://jeux.cof.ens.fr/)
- [le site des interludes 2023](https://interludes.crans.org/)
...@@ -70,6 +70,10 @@ ...@@ -70,6 +70,10 @@
<div class="qty">Dormeurs</div> <div class="qty">Dormeurs</div>
<div class="nb_small">{{ metrics.sleeps }}</div> <div class="nb_small">{{ metrics.sleeps }}</div>
</div> </div>
<div class="stat">
<div class="qty">Payé⋅es</div>
<div class="nb_small">{{ metrics.paid }}</div>
</div>
</div> </div>
<div class="flex wrap lines"> <div class="flex wrap lines">
...@@ -101,6 +105,10 @@ ...@@ -101,6 +105,10 @@
<div class="qty">D midi</div> <div class="qty">D midi</div>
<div class="nb_small">{{ metrics.meal6 }}</div> <div class="nb_small">{{ metrics.meal6 }}</div>
</div> </div>
<div class="stat">
<div class="qty">D soir</div>
<div class="nb_small">{{ metrics.meal7 }}</div>
</div>
</div> </div>
<div class="flex wrap lines"> <div class="flex wrap lines">
......
...@@ -13,6 +13,7 @@ from home import models ...@@ -13,6 +13,7 @@ from home import models
from home.views import get_planning_context from home.views import get_planning_context
from site_settings.models import Colors, SiteSettings from site_settings.models import Colors, SiteSettings
from shared.views import CSVWriteView, SuperuserRequiredMixin from shared.views import CSVWriteView, SuperuserRequiredMixin
from interludes import settings as site_settings
from admin_pages.forms import Recipients, SendEmailForm from admin_pages.forms import Recipients, SendEmailForm
...@@ -42,6 +43,7 @@ class AdminView(SuperuserRequiredMixin, TemplateView): ...@@ -42,6 +43,7 @@ class AdminView(SuperuserRequiredMixin, TemplateView):
non_registered = EmailUser.objects.filter(is_active=True).count() - participants non_registered = EmailUser.objects.filter(is_active=True).count() - participants
# mugs = registered.filter(mug=True).count() # mugs = registered.filter(mug=True).count()
sleeps = registered.filter(sleeps=True).count() sleeps = registered.filter(sleeps=True).count()
paid = registered.filter(paid=True).count()
meal1 = registered.filter(meal_friday_evening=True).count() meal1 = registered.filter(meal_friday_evening=True).count()
meal2 = registered.filter(meal_saturday_morning=True).count() meal2 = registered.filter(meal_saturday_morning=True).count()
...@@ -49,6 +51,7 @@ class AdminView(SuperuserRequiredMixin, TemplateView): ...@@ -49,6 +51,7 @@ class AdminView(SuperuserRequiredMixin, TemplateView):
meal4 = registered.filter(meal_saturday_evening=True).count() meal4 = registered.filter(meal_saturday_evening=True).count()
meal5 = registered.filter(meal_sunday_morning=True).count() meal5 = registered.filter(meal_sunday_morning=True).count()
meal6 = registered.filter(meal_sunday_midday=True).count() meal6 = registered.filter(meal_sunday_midday=True).count()
meal7 = registered.filter(meal_sunday_evening=True).count()
meals = meal1 + meal2 + meal3 + meal4 + meal5 + meal6 meals = meal1 + meal2 + meal3 + meal4 + meal5 + meal6
activites = acts.count() activites = acts.count()
...@@ -283,7 +286,8 @@ class ExportParticipants(SuperuserRequiredMixin, CSVWriteView): ...@@ -283,7 +286,8 @@ class ExportParticipants(SuperuserRequiredMixin, CSVWriteView):
headers = [ headers = [
"id", "mail", "prénom", "nom", "ENS", "Dors sur place", #"Tasse", "id", "mail", "prénom", "nom", "ENS", "Dors sur place", #"Tasse",
"Repas vendredi", "Repas S matin", "Repas S midi", "Repas S soir", "Repas vendredi", "Repas S matin", "Repas S midi", "Repas S soir",
"Repas D matin", "Repas D soir" "Repas D matin", "Repas D midi", "Reaps D soir", "Payé⋅e", "Prix",
"Montant payé"
] ]
def get_rows(self): def get_rows(self):
profiles = models.ParticipantModel.objects.filter( profiles = models.ParticipantModel.objects.filter(
...@@ -305,6 +309,10 @@ class ExportParticipants(SuperuserRequiredMixin, CSVWriteView): ...@@ -305,6 +309,10 @@ class ExportParticipants(SuperuserRequiredMixin, CSVWriteView):
profile.meal_saturday_evening, profile.meal_saturday_evening,
profile.meal_sunday_morning, profile.meal_sunday_morning,
profile.meal_sunday_midday, profile.meal_sunday_midday,
profile.meal_sunday_evening,
profile.paid,
profile.cost,
profile.amount_paid
]) ])
return rows return rows
...@@ -352,7 +360,7 @@ class SendUserEmail(SendEmailBase): ...@@ -352,7 +360,7 @@ class SendUserEmail(SendEmailBase):
def get_emails(self): def get_emails(self):
"""genere les mails a envoyer""" """genere les mails a envoyer"""
participants = models.ParticipantModel.objects.filter( participants = models.ParticipantModel.objects.filter(
is_registered=True, participant__user__is_active=True is_registered=True, user__is_active=True
) )
emails = [] emails = []
settings = SiteSettings.load() settings = SiteSettings.load()
...@@ -365,7 +373,7 @@ class SendUserEmail(SendEmailBase): ...@@ -365,7 +373,7 @@ class SendUserEmail(SendEmailBase):
"my_choices": my_choices.filter(accepted=True), "my_choices": my_choices.filter(accepted=True),
}) })
emails.append(( emails.append((
settings.USER_EMAIL_SUBJECT_PREFIX + "Vos activités", # subject site_settings.USER_EMAIL_SUBJECT_PREFIX + "Vos activités", # subject
message, message,
self.from_address, # From: self.from_address, # From:
[participant.user.email], # To: [participant.user.email], # To:
...@@ -386,7 +394,7 @@ class SendUserEmail(SendEmailBase): ...@@ -386,7 +394,7 @@ class SendUserEmail(SendEmailBase):
"Emails de répartition envoyés aux participants", "Emails de répartition envoyés aux participants",
"Les participants ont reçu un mail leur communiquant la répartition des activités\n" "Les participants ont reçu un mail leur communiquant la répartition des activités\n"
"Nombre total de mail envoyés: {}\n\n" "Nombre total de mail envoyés: {}\n\n"
"{}".format(nb_sent, settings.EMAIL_SIGNATURE) "{}".format(nb_sent, site_settings.EMAIL_SIGNATURE)
) )
messages.success(self.request, "{} mails envoyés aux utilisateurs".format(nb_sent)) messages.success(self.request, "{} mails envoyés aux utilisateurs".format(nb_sent))
...@@ -409,7 +417,7 @@ class SendOrgaEmail(SendEmailBase): ...@@ -409,7 +417,7 @@ class SendOrgaEmail(SendEmailBase):
"slots": slots, "slots": slots,
}) })
emails.append(( emails.append((
settings.USER_EMAIL_SUBJECT_PREFIX + site_settings.USER_EMAIL_SUBJECT_PREFIX +
"Liste d'inscrits à votre activité {}".format(activity.title), # subject "Liste d'inscrits à votre activité {}".format(activity.title), # subject
message, message,
self.from_address, # From: self.from_address, # From:
...@@ -431,7 +439,7 @@ class SendOrgaEmail(SendEmailBase): ...@@ -431,7 +439,7 @@ class SendOrgaEmail(SendEmailBase):
"Listes d'inscrits envoyés aux orgas", "Listes d'inscrits envoyés aux orgas",
"Les mails communiquant aux organisateurs leur listes d'inscrit ont été envoyés\n" "Les mails communiquant aux organisateurs leur listes d'inscrit ont été envoyés\n"
"Nombre total de mail envoyés: {}\n\n" "Nombre total de mail envoyés: {}\n\n"
"{}".format(nb_sent, settings.EMAIL_SIGNATURE) "{}".format(nb_sent, site_settings.EMAIL_SIGNATURE)
) )
messages.success(self.request, "{} mails envoyés aux orgas".format(nb_sent)) messages.success(self.request, "{} mails envoyés aux orgas".format(nb_sent))
...@@ -488,7 +496,7 @@ class NewEmail(SuperuserRequiredMixin, FormView): ...@@ -488,7 +496,7 @@ class NewEmail(SuperuserRequiredMixin, FormView):
"{}\n\n" "{}\n\n"
"{}".format( "{}".format(
Recipients(dest).label, nb_sent, subject, text, Recipients(dest).label, nb_sent, subject, text,
settings.EMAIL_SIGNATURE site_settings.EMAIL_SIGNATURE
) )
) )
messages.success(self.request, "{} mails envoyés".format(nb_sent)) messages.success(self.request, "{} mails envoyés".format(nb_sent))
......
...@@ -76,11 +76,19 @@ class SlotModelAdmin(ExportCsvMixin, admin.ModelAdmin): ...@@ -76,11 +76,19 @@ class SlotModelAdmin(ExportCsvMixin, admin.ModelAdmin):
class ParticipantModelAdmin(ExportCsvMixin, admin.ModelAdmin): class ParticipantModelAdmin(ExportCsvMixin, admin.ModelAdmin):
"""option d'affichage des participant dans la vue django admin""" """option d'affichage des participant dans la vue django admin"""
filename = "export_participants.csv" filename = "export_participants.csv"
list_display = ("user", "school", "is_registered") fields = (
"user", "school", "is_registered",
("meal_friday_evening", "meal_saturday_morning", "meal_saturday_midday",
"meal_saturday_evening", "meal_sunday_morning", "meal_sunday_midday",
"meal_sunday_evening"),
"sleeps", "nb_murder", "paid", "amount_paid", "comment"
)
list_display = ("user", "school", "is_registered", "comment")
list_filter = ( list_filter = (
"school", "is_registered", "sleeps", "school", "is_registered", "sleeps",
"meal_friday_evening", "meal_saturday_morning", "meal_saturday_midday", "meal_friday_evening", "meal_saturday_morning", "meal_saturday_midday",
"meal_saturday_evening", "meal_sunday_morning", "meal_sunday_midday", "meal_saturday_evening", "meal_sunday_morning", "meal_sunday_midday",
"meal_sunday_evening", "nb_murder", "paid"
) )
ordering = ("user",) ordering = ("user",)
list_per_page = 200 list_per_page = 200
......
...@@ -12,14 +12,16 @@ class InscriptionForm(FormRenderMixin, forms.ModelForm): ...@@ -12,14 +12,16 @@ class InscriptionForm(FormRenderMixin, forms.ModelForm):
fields = ( fields = (
"school", "sleeps", # "mug", "school", "sleeps", # "mug",
"meal_friday_evening", "meal_saturday_morning", "meal_saturday_midday", "meal_friday_evening", "meal_saturday_morning", "meal_saturday_midday",
"meal_saturday_evening", "meal_sunday_morning", "meal_sunday_midday", "meal_saturday_evening", "meal_sunday_morning", "meal_sunday_midday", "meal_sunday_evening",
"paid","nb_murder", "comment"
) )
field_groups = [["school"], ["sleeps"], #["mug"], field_groups = [["school"], ["sleeps"], #["mug"],
[ [
"meal_friday_evening", "meal_saturday_morning", "meal_saturday_midday", "meal_friday_evening", "meal_saturday_morning", "meal_saturday_midday",
"meal_saturday_evening", "meal_sunday_morning", "meal_sunday_midday", "meal_saturday_evening", "meal_sunday_morning", "meal_sunday_midday", "meal_sunday_evening"
] ],
["paid"],["nb_murder"], ["comment"]
] ]
def save(self, *args, commit=True, **kwargs): def save(self, *args, commit=True, **kwargs):
...@@ -82,7 +84,8 @@ class ActivitySubmissionForm(FormRenderMixin, forms.ModelForm): ...@@ -82,7 +84,8 @@ class ActivitySubmissionForm(FormRenderMixin, forms.ModelForm):
"available_sunday_afternoon", "available_sunday_afternoon",
"constraints", "constraints",
"status", "needs", #"status",
"needs",
"comments", "comments",
) )
......
# Generated by Django 3.2.16 on 2022-11-08 18:43
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('home', '0001_initial'),
]
operations = [
migrations.AddField(
model_name='participantmodel',
name='comment',
field=models.TextField(blank=True, max_length=2000, null=True, verbose_name='Commentaire'),
),
migrations.AddField(
model_name='participantmodel',
name='nb_murder',
field=models.PositiveIntegerField(default=0, verbose_name='Nombre de murder réalisées'),
),
]
# Generated by Django 3.2.16 on 2022-11-15 09:18
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('home', '0002_auto_20221108_1943'),
]
operations = [
migrations.AlterField(
model_name='activitymodel',
name='status',
field=models.CharField(blank=True, choices=[('P', 'En présentiel uniquement'), ('D', 'En distanciel uniquement'), ('2', 'Les deux')], default='P', max_length=1, verbose_name='Présentiel/distanciel'),
),
]
# Generated by Django 3.2.16 on 2022-11-17 20:13
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('home', '0003_alter_activitymodel_status'),
]
operations = [
migrations.AddField(
model_name='participantmodel',
name='paid',
field=models.BooleanField(default=False, verbose_name='payé(e)'),
),
]
# Generated by Django 3.2.16 on 2022-12-09 09:28
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('home', '0004_participantmodel_paid'),
]
operations = [
migrations.AddField(
model_name='participantmodel',
name='meal_sunday_evening',
field=models.BooleanField(default=False, verbose_name='repas de dimanche soir'),
),
migrations.AlterField(
model_name='participantmodel',
name='meal_sunday_midday',
field=models.BooleanField(default=False, verbose_name='repas de dimanche midi'),
),
]
# Generated by Django 3.2.16 on 2022-12-09 10:34
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('home', '0005_auto_20221209_1028'),
]
operations = [
migrations.AddField(
model_name='participantmodel',
name='amount_paid',
field=models.PositiveIntegerField(default=0, verbose_name='Montant payé'),
),
]
...@@ -142,7 +142,10 @@ class ActivityModel(models.Model): ...@@ -142,7 +142,10 @@ class ActivityModel(models.Model):
"Contraintes particulières", max_length=2000, blank=True, null=True "Contraintes particulières", max_length=2000, blank=True, null=True
) )
status = models.CharField("Présentiel/distanciel", choices=Status.choices, max_length=1) status = models.CharField(
"Présentiel/distanciel", choices=Status.choices, max_length=1,
default=Status.PRESENT, blank=True
)
needs = models.TextField( needs = models.TextField(
"Besoin particuliers", max_length=2000, blank=True, null=True "Besoin particuliers", max_length=2000, blank=True, null=True
) )
...@@ -318,12 +321,21 @@ class ParticipantModel(models.Model): ...@@ -318,12 +321,21 @@ class ParticipantModel(models.Model):
meal_saturday_midday = models.BooleanField("repas de samedi midi", default=False) meal_saturday_midday = models.BooleanField("repas de samedi midi", default=False)
meal_saturday_evening = models.BooleanField("repas de samedi soir", default=False) meal_saturday_evening = models.BooleanField("repas de samedi soir", default=False)
meal_sunday_morning = models.BooleanField("repas de dimanche matin", default=False) meal_sunday_morning = models.BooleanField("repas de dimanche matin", default=False)
meal_sunday_midday = models.BooleanField("repas de dimanche soir", default=False) meal_sunday_midday = models.BooleanField("repas de dimanche midi", default=False)
meal_sunday_evening = models.BooleanField("repas de dimanche soir", default=False)
sleeps = models.BooleanField("dormir sur place", default=False) sleeps = models.BooleanField("dormir sur place", default=False)
paid = models.BooleanField("payé(e)", default=False)
# mug = models.BooleanField("commander une tasse", default=False) # mug = models.BooleanField("commander une tasse", default=False)
nb_murder = models.PositiveIntegerField("Nombre de murder réalisées", default=0)
comment = models.TextField("Commentaire", max_length=2000, blank=True, null=True)
amount_paid = models.PositiveIntegerField("Montant payé", default=0)
def __str__(self) -> str: def __str__(self) -> str:
school = self.ENS(self.school).label.replace("ENS ", "") if self.school else "" school = self.ENS(self.school).label.replace("ENS ", "") if self.school else ""
return "{} {} ({})".format(self.user.first_name, self.user.last_name, school) return "{} {} ({})".format(self.user.first_name, self.user.last_name, school)
...@@ -332,7 +344,13 @@ class ParticipantModel(models.Model): ...@@ -332,7 +344,13 @@ class ParticipantModel(models.Model):
def nb_meals(self) -> int: def nb_meals(self) -> int:
return ( return (
self.meal_friday_evening + self.meal_saturday_evening + self.meal_saturday_midday + self.meal_friday_evening + self.meal_saturday_evening + self.meal_saturday_midday +
self.meal_saturday_morning + self.meal_sunday_midday + self.meal_sunday_morning self.meal_saturday_morning + self.meal_sunday_midday + self.meal_sunday_morning +
self.meal_sunday_evening
)
@property
def cost(self) -> int:
return (
(self.is_registered*2 + self.nb_meals) * (2+self.paid) - (self.paid*self.meal_sunday_evening)
) )
class Meta: class Meta:
......
home/static/imgs/2023/bdl.png

213 KiB

home/static/imgs/2023/ens_ps.png

14.5 KiB

home/static/imgs/2023/favicon.ico

61.1 KiB

home/static/imgs/2023/logo.png

144 KiB

...@@ -82,13 +82,12 @@ ...@@ -82,13 +82,12 @@
<h3>Modalités pratiques</h3> <h3>Modalités pratiques</h3>
<p><strong>Présentiel/distanciel&nbsp;:</strong> &nbsp;{{ form.status }}</p> {% comment "En présentiel" %}<p><strong>Présentiel/distanciel&nbsp;:</strong> &nbsp;{{ form.status }}</p>{% endcomment %}
<p><strong>Besoins spécifiques&nbsp;:</strong></p> <p><strong>Besoins spécifiques&nbsp;:</strong></p>
<ul> <ul>
<li>Vous faut-il une ou plusieurs salles&nbsp;?</li> <li>Vous faut-il une ou plusieurs salles&nbsp;?</li>
<li>Vous faut-il du matériel spécial&nbsp;?</li> <li>Vous faut-il du matériel spécial&nbsp;?</li>
<li>Si possible en distanciel, quel outils faut-il pour participer&nbsp;?</li>
<li>Et tout autre besoin de ce type...</li> <li>Et tout autre besoin de ce type...</li>
</ul> </ul>
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
<title>{% block title %}Interludes{% if settings.date_start %} {{ settings.date_start.year }}{% endif %}{% endblock %}</title> <title>{% block title %}Interludes{% if settings.date_start %} {{ settings.date_start.year }}{% endif %}{% endblock %}</title>
<meta name="description" content="Inscriptions et infos sur les interENS ludiques{% if settings.date_start %}, édition {{ settings.date_start.year }}{% endif %}"> <meta name="description" content="Inscriptions et infos sur les interENS ludiques{% if settings.date_start %}, édition {{ settings.date_start.year }}{% endif %}">
<meta name="keywords" content="Interludes ENS {% if settings.date_start %}{{ settings.date_start.year }} {% endif %}InterENS"> <meta name="keywords" content="Interludes ENS {% if settings.date_start %}{{ settings.date_start.year }} {% endif %}InterENS">
<link rel="icon" type="image/png" href="{% static 'imgs/2022/favicon.ico' %}"> <link rel="icon" type="image/png" href="{% static 'imgs/2023/favicon.ico' %}">
<link rel="stylesheet" type="text/css" href="{% static 'css/style.css' %}?v={{ constants.CSS_VERSION }}"> <link rel="stylesheet" type="text/css" href="{% static 'css/style.css' %}?v={{ constants.CSS_VERSION }}">
<link rel="stylesheet" type="text/css" href="{% static 'css/font-awesome-all.min.css' %}"> <link rel="stylesheet" type="text/css" href="{% static 'css/font-awesome-all.min.css' %}">
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
<body> <body>
<header> <header>
<div id="header_logo" class="easter_egg"> <div id="header_logo" class="easter_egg">
<h1><a href="/"><img id="circle" src="{% static 'imgs/2022/logo.png' %}">&nbsp;Interludes{% if settings.date_start %} {{ settings.date_start.year }}{% endif %}&nbsp;</a></h1> <h1><a href="/"><img src="{% static 'imgs/2023/logo.png' %}">&nbsp;Interludes{% if settings.date_start %} {{ settings.date_start.year }}{% endif %}&nbsp;</a></h1>
</div> </div>
<div id="head_main_infos"> <div id="head_main_infos">
<div id="location">{{ settings.hosting_school }}</div> <div id="location">{{ settings.hosting_school }}</div>
...@@ -109,21 +109,13 @@ ...@@ -109,21 +109,13 @@
<footer> <footer>
<div id="sponsors"> <div id="sponsors">
<a class="external" href="https://www.ens-lyon.fr/"> <a class="external" href="https://www.ens-paris-saclay.fr/">
<img src="{% static "imgs/2022/ens_lyon.svg" %}" alt="École Normale Supérieure de Lyon" <img src="{% static "imgs/2023/ens_ps.png" %}" alt="École Normale Supérieure Paris-Saclay"
title="École Normale Supérieure de Lyon" /> title="École Normale Supérieure Paris-Saclay" />
</a> </a>
<a class="external" href="https://discord.gg/27QWSDUNgM"> <a class="external" href="https://wiki.crans.org/VieBdl">
<img src="{% static "imgs/2022/bul.png" %}" alt="Bureau Ludique de l'ENS de Lyon" <img src="{% static "imgs/2023/bdl.png" %}" alt="Bureau des Loisirs de l'ENS de Paris-Saclay"
title="Bureau Ludique de l'ENS de Lyon" /> title="Bureau des Loisirs de l'ENS Paris-Saclay" />
</a>
<a class="external" href="https://www.trollune.fr/">
<img src="{% static "imgs/2022/trollune.png" %}" alt="Trollune"
title="Trollune" />
</a>
<a class="external" href="https://www.3ptitspois.fr/">
<img src="{% static "imgs/2022/trois_ptits_pois.png" %}" alt="Trois Ptits Pois"
title="Trois Ptits Pois" />
</a> </a>
</div> </div>
{% if settings.contact_email %} {% if settings.contact_email %}
......
...@@ -4,19 +4,21 @@ ...@@ -4,19 +4,21 @@
{% block "content" %} {% block "content" %}
<h2>Quelle différence entre l'inscription sur HelloAsso et sur le site&nbsp;?</h2> <h2>Comment s'incrire ?</h2>
<p>L'inscription HelloAsso vous inscrit à l'événement, au logement et aux repas (selon l'option que vous prenez). Sur le site internet, vous pouvez créer un compte pour vous inscrire aux différentes activités qui seront proposées lors de l'événement. </p> {% if settings.inscriptions_open %}
<p> Les <a href="{% url 'inscription' %}">inscriptions</a> sont ouvertes. Vous pouvez vous inscrire aux repas et à l'hébergement.
<h2>Quelles seront les mesures de protection sanitaire&nbsp;?</h2> {% if settings.activity_inscriptions_open %}
<p>Les mesures définitives vous seront communiquées à l'arrivée à l'événement. Elles incluront probablement&nbsp;:</p> Vous pouvez aussi vous inscrire aux activités.
<ul> {% else %}
<li>Contrôle des passes sanitaires chaque jour</li> L'inscription aux activités aura lieu plupart.
<li>Port du masque obligatoire en permanence</li> {% endif %}
<li>Lavage de main entre chaque jeu/activité conseillé</li> </p>
<li>Des QR Codes à scanner sur chaque table (pour garder trace des cas contacts si une personne est déclarée positive)</li> {% else %}
<li>Salles aérées en permanence et joueur&middot;ses invité&middot;es à se rendre dehors si le taux de CO2 devient trop élevé</li> <p> Les inscriptions ne sont pas ouvertes. </p>
</ul> {% endif %}
<h2>Comment payer ?</h2>
De préférence par l'associations qui gèrent les Interludes dans votre ENS (Bureau des Loisirs, Bul...). Sinon par espèce, chèque, carte sur place.
<h2>Comment proposer une activité&nbsp;?</h2> <h2>Comment proposer une activité&nbsp;?</h2>
{% if settings.activity_submission_open %} {% if settings.activity_submission_open %}
...@@ -28,41 +30,32 @@ ...@@ -28,41 +30,32 @@
{% endif %} {% endif %}
<h2>Quelles seront les conditions pour dormir/manger&nbsp;?</h2> <h2>Quelles seront les conditions pour dormir/manger&nbsp;?</h2>
<p> Nous proposerons un logement en tente, pour celleux qui le souhaitent</p> <p> Nous proposerons un logement indéterminé, pour celleux qui le souhaitent</p>
<p> Les repas seront préparés et servis sur place.</p> <p> Les repas seront préparés et servis sur place.</p>
<p> Si vous dormez dans les tentes, pensez à prendre un tapis de sol et duvet.</p>
<h2>Comment se rendre à l'événement&nbsp;?</h2> <h2>Comment se rendre à l'événement&nbsp;?</h2>
<p>Les Interludes se déroule à l'ENS Paris-Saclay : 4 avenue des Sciences, 91190 Gif-sur-Yvette. L'accueil se fait par l'entrée principale.</p>
<div> <div>
<p class="centered"> <p class="centered">
<i class="fas fa-map-marker-alt"></i>
<iframe width="750" height="400"
frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="https://www.openstreetmap.org/export/embed.html?bbox=2.1628072857856755%2C48.71179934847555%2C2.1672758460044865%2C48.71333201299027&amp;layer=mapnik" style="border: 1px solid black"></iframe><br/>
<small><a href="https://www.openstreetmap.org/#map=19/48.71257/2.16504">View Larger Map</a></small>
</p> </p>
<iframe id="interactive-map" width="750" height="400"
src="https://www.openstreetmap.org/export/embed.html?bbox=4.82691%2C45.73663%2C4.84084%2C45.72936&amp;layer=hot&amp;marker=45.73298%2C4.83397"></iframe>
</div> </div>
<div id="public-transport-info"> <div id="public-transport-info">
<div id="transport-tcl-metro">
<img src="{% static 'imgs/tcl/B.svg' %}" alt="Métro B">
</div>
<div id="transport-tcl-tram-1">
<img src="{% static 'imgs/tcl/T1.svg' %}" alt="Tram T1">
</div>
<div id="transport-tcl-tram-2">
<img src="{% static 'imgs/tcl/T6.svg' %}" alt="Tram T6">
</div>
<div id="transport-tcl-bus-1"> <div id="transport-tcl-bus-1">
<img src="{% static 'imgs/tcl/34.svg' %}" alt="Bus 34"> Bus 9
</div> </div>
<div id="transport-tcl-bus-2"> <div id="transport-tcl-bus-2">
<img src="{% static 'imgs/tcl/60.svg' %}" alt="Bus 60"> Bus 91.06
</div> </div>
<div id="transport-tcl-bus-3"> <div id="transport-tcl-bus-3">
<img src="{% static 'imgs/tcl/64.svg' %}" alt="Bus 64"> Bus 91.10
</div> </div>
<span id="transport-tcl-stop">Arrêt : Debourg</span> <span id="transport-tcl-stop">Arrêt : Moulon</span>
</div> </div>
<h2>Comment sont réparties les activités&nbsp;?</h2> <h2>Comment sont réparties les activités&nbsp;?</h2>
...@@ -85,6 +78,8 @@ ...@@ -85,6 +78,8 @@
</ol> </ol>
<p>Le code est sur <a href="https://github.com/Imakoala/InterludesMatchings">github</a>, il ne marche pas encore parfaitement, et on risque de devoir bidouiller à la main en plus pour résoudre tous les cas particuliers (conflits d'horaires, activité présente plusieurs fois...). <p>Le code est sur <a href="https://github.com/Imakoala/InterludesMatchings">github</a>, il ne marche pas encore parfaitement, et on risque de devoir bidouiller à la main en plus pour résoudre tous les cas particuliers (conflits d'horaires, activité présente plusieurs fois...).
{% if settings.contact_email_reversed %}
<h2>J'ai encore une question, je fais quoi ?</h2> <h2>J'ai encore une question, je fais quoi ?</h2>
<p> Hésite pas à nous passer un mail à <span class="antispam">{{ settings.contact_email_reversed }}</span> pour nous poser tes questions !</p> <p> Hésite pas à nous passer un mail à <span class="antispam">{{ settings.contact_email_reversed }}</span> pour nous poser tes questions !</p>
{% endif %}
{% endblock %} {% endblock %}
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
<h2>Présentation</h2> <h2>Présentation</h2>
{% if settings.discord_link %} {% if settings.discord_link %}
<ul class="messagelist"><li class="info"> <ul class="messagelist"><li class="info">
Rejoins notre <a href="{{ settings.discord_link }}">serveur discord</a> pour participer à l'événement.{{ settings.global_message }} Rejoins notre <a href="{{ settings.discord_link }}">serveur discord</a> pour participer à l'événement.
</li></ul> </li></ul>
{% endif %} {% endif %}
<p> <p>
...@@ -30,18 +30,19 @@ ...@@ -30,18 +30,19 @@
</p> </p>
<h2>Inscriptions</h2> <h2>Inscriptions</h2>
<h3>Inscription à l'événement</h3>
<p> <p>
Ce site vous permettra de vous <a href="{% url 'inscription'%}">inscrire à l'événement et aux activités</a> et de <a L'inscription à l'événement, aux repas, à l'hebergement et aux activités se fait dans <a href="{% url 'inscription'%}">l'onglet inscription</a>
href="{% url 'activites' %}">voir les activités</a> qui y </p>
seront proposées.
</p> </p>
{% if settings.inscriptions_start and settings.inscriptions_end %} {% if settings.inscriptions_start and settings.inscriptions_end %}
<p>Les inscriptions seront ouvertes <p>Les inscriptions aux activités seront ouvertes
du <strong>{{ settings.inscriptions_start|date:"l d F Y à H:i" }}</strong> du <strong>{{ settings.inscriptions_start|date:"l d F Y à H:i" }}</strong>
au <strong>{{ settings.inscriptions_end|date:"l d F Y à H:i" }}</strong>. au <strong>{{ settings.inscriptions_end|date:"l d F Y à H:i" }}</strong>.
</p> </p>
{% elif settings.inscriptions_start %} {% elif settings.inscriptions_start %}
<p>Les inscriptions ouvrirons le <strong>{{ settings.inscriptions_start|date:"l d F Y à H:i" }}</strong>.</p> <p>Les inscriptions aux activités ouvrirons le <strong>{{ settings.inscriptions_start|date:"l d F Y à H:i" }}</strong>.</p>
{% elif settings.inscriptions_end %} {% elif settings.inscriptions_end %}
<p>Les inscriptions fermerons le <strong>{{ settings.inscriptions_end|date:"l d F Y à H:i" }}</strong>.</p> <p>Les inscriptions fermerons le <strong>{{ settings.inscriptions_end|date:"l d F Y à H:i" }}</strong>.</p>
{% endif %} {% endif %}
...@@ -51,27 +52,31 @@ ...@@ -51,27 +52,31 @@
Les tarifs sont différenciés entre salarié·es et non-salarié·es. Les tarifs sont différenciés entre salarié·es et non-salarié·es.
<ul> <ul>
<li><strong>Participation à l'événement :</strong> 6€/4€</li> <li><strong>Participation à l'événement :</strong> 6€/4€</li>
<li><strong>Repas (du vendredi soir au dimanche midi) :</strong> 10€/6€</li> <li><strong>Repas (du vendredi soir au dimanche midi) :</strong> 3€/2€ par repas</li>
<li><strong>Logement en tente :</strong> 3€</li> <li><strong>Repas du dimanche soir (à emporter) :</strong> 2€</li>
<li><strong>Logement :</strong> gratuit (chez les Saclaysien⋅nes)</li>
</ul> </ul>
</p> </p>
<h2>Menu des repas</h2> <h2>Menu des repas</h2>
<p> <p>
Cette année, le menu sera entièrement végétarien, avec options végan et/ou sans gluten possibles. Cette année, le menu sera entièrement végétarien. Il sera annoncé bientôt.
<ul> <ul>
<li><strong>Vendredi soir :</strong> Chili sin carne, riz & compote</li> <li><strong>Vendredi soir :</strong> Pâtes forestières & crumble aux pommes</li>
<li><strong>Samedi midi :</strong> Brunch (Salade bar, Croques pesto-mozza, Houmous, Gâteaux)</li> <li><strong>Samedi matin :</strong>Petit dej'</li>
<li><strong>Samedi soir :</strong> Soupe de saison & Tartiflette (option vegan : gratin de pommes de terre aux champignons)</li> <li><strong>Samedi midi :</strong>Chili sin carne (avec des pâtes) & crème dessert</li>
<li><strong>Dimanche midi :</strong> Sandwich au choix</li> <li><strong>Samedi soir :</strong>Gratin patate poireau & charlotte</li>
<li><strong>Dimanche matin :</strong>Petit dej'</li>
<li><strong>Dimanche midi :</strong>Wraps & cookie</li>
<li><strong>Dimanche soir (à emporter):</strong>Wraps & fruit (ou cookie)</li>
</ul> </ul>
<h2>Liens divers</h2> <h2>Liens divers</h2>
<ul> <ul>
<li>Le code source de ce site est sur <a href="https://github.com/Pantoofle/site-interludes">github</a>.</li> <li>Le code source de ce site est sur <a href="https://gitlab.crans.org/mediatek/site-kwei">gitlab</a>.</li>
<li>Un historique des interludes avec leurs visuels, site webs et photos est sur le <a <li>Un historique des interludes avec leurs visuels, site webs et photos est sur le <a
href="https://wiki.crans.org/VieBdl/InterLudes">wiki de Paris-Saclay</a>.</li> href="https://wiki.crans.org/VieBdl/InterLudes">wiki Crans de Paris-Saclay</a>.</li>
</ul> </ul>
{% endblock %} {% endblock %}
...@@ -3,13 +3,16 @@ ...@@ -3,13 +3,16 @@
{% block nav_inscription %}current{% endblock %} {% block nav_inscription %}current{% endblock %}
{% block "content" %} {% block "content" %}
<h2>Inscriptions</h2> <h2>Inscriptions à l'événement</h2>
<p> L'inscription est fermée </p>
<h2>Inscriptions aux activités</h2>
{% if settings.inscriptions_not_open_yet %} {% if settings.inscriptions_not_open_yet %}
<p>Les inscriptions ne sont pas encores ouvertes.</p> <p>Les inscriptions aux activités ne sont pas encores ouvertes.</p>
<p>Leur ouverture est prévue le <strong>{{ settings.inscriptions_start|date:"l d F Y à H:i" }}</strong>.</p> <p>Leur ouverture est prévue le <strong>{{ settings.inscriptions_start|date:"l d F Y à H:i" }}</strong>.</p>
<p>Nous communiquerons par mail via les BDE des différentes écoles pour leur ouverture.</p> <p>Nous communiquerons par mail via les BDE des différentes écoles pour leur ouverture.</p>
{% elif settings.inscriptions_have_closed %} {% elif settings.inscriptions_have_closed %}
<p>Les inscriptions sont fermées.</p> <p>Les inscriptions aux activités sont fermées.</p>
<p> <p>
Les inscriptions cette année sont facultatives, Les inscriptions cette année sont facultatives,
tu peux quand même rejoindre le {% if settings.discord_link %}<a href="{{ settings.discord_link }}">serveur discord</a>{% else %}serveur discord{% endif %} et participer aux jeux libres et tu peux quand même rejoindre le {% if settings.discord_link %}<a href="{{ settings.discord_link }}">serveur discord</a>{% else %}serveur discord{% endif %} et participer aux jeux libres et
...@@ -19,7 +22,7 @@ ...@@ -19,7 +22,7 @@
<p>Pour tout problème, contacter&nbsp;:<br><span class="antispam">{{ settings.contact_email_reversed }}</span></p> <p>Pour tout problème, contacter&nbsp;:<br><span class="antispam">{{ settings.contact_email_reversed }}</span></p>
{% endif %} {% endif %}
{% else %} {% else %}
<p>Les inscriptions ne sont pas encores ouvertes ou ont été fermées.</p> <p>Les inscriptions aux activités ne sont pas encores ouvertes ou ont été fermées.</p>
<p>Nous communiquerons par mail via les BDE des différentes écoles pour leur ouverture.</p> <p>Nous communiquerons par mail via les BDE des différentes écoles pour leur ouverture.</p>
{% endif %} {% endif %}
{% endblock %} {% endblock %}