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
......@@ -7,6 +7,19 @@ from django.core.files.storage import FileSystemStorage
from django.utils.timezone import now
class Colors(models.TextChoices):
"""Couleur d'affichage dans le planning
Leur code HTML est hardcodé dans la template '_planning.html'."""
RED = "a", "Rouge"
ORANGE = "b", "Orange"
YELLOW = "c", "Jaune"
GREEN = "d", "Vert"
BLUE = "e", "Bleu"
DARK_BLUE = "f", "Bleu foncé"
BLACK = "g", "Noir"
class OverwriteStorage(FileSystemStorage):
"""used to enforcing a fixed filename to upload file
This allow for a constant link to a changeable file"""
......@@ -55,12 +68,26 @@ class SingletonModel(models.Model):
class SiteSettings(SingletonModel):
"""Réglages globaux du site"""
contact_email = models.EmailField("Email contact", blank=True, null=True)
hosting_school = models.CharField(
"École hébergeant l'événement", max_length=50, blank=True, null=True
)
date_start = models.DateField("Date de début", blank=True, null=True)
date_end = models.DateField("Date de fin", blank=True, null=True)
registrations_open = models.BooleanField("Ouvrir la création de compte", default=False)
registrations_open = models.BooleanField("Ouvrir la création de compte", default=True)
inscriptions_open = models.BooleanField("Ouvrir les inscriptions", default=False)
activity_submission_open = models.BooleanField(
"Ouvrir l'ajout d'activité", default=False,
help_text="Permet de proposer une activité via le formulaire dédié"
)
show_host_emails = models.BooleanField(
"Afficher les mails des orgas d'activités", default=False,
help_text="Ces mail sont affichés sur la page activités pour que les gens puissent les contacter",
)
inscriptions_start = models.DateTimeField("Ouverture des inscriptions",
blank=True, null=True,
......@@ -82,10 +109,6 @@ class SiteSettings(SingletonModel):
help_text="Suppose que l'allocation des activités a été effectuée."
)
activity_submission_form = models.CharField(
"Lien pour soumettre une activité", max_length=200, default="",
blank=True, null=True
)
discord_link = models.CharField(
"Lien du serveur discord", max_length=200, blank=True, null=True
)
......@@ -112,6 +135,37 @@ class SiteSettings(SingletonModel):
help_text="Assurez vous que le message est bien formaté, cela peut casser toutes les pages du site",
)
# Légende du planning modifiable
caption_red = models.CharField(
"Légende planning (rouge)", default="Jeux de rôle grandeur nature",
blank=True, null=True, max_length=200,
)
caption_orange = models.CharField(
"Légende planning (orange)", default="Jeux de rôle sur table",
blank=True, null=True, max_length=200,
)
caption_yellow = models.CharField(
"Légende planning (jaune)", default="Activités libres",
blank=True, null=True, max_length=200,
)
caption_green = models.CharField(
"Légende planning (vert)", default="Tournois",
blank=True, null=True, max_length=200,
)
caption_blue = models.CharField(
"Légende planning (bleu)", default="Événements de début et fin",
blank=True, null=True, max_length=200,
)
caption_dark_blue = models.CharField(
"Légende planning (bleu foncé)", default="Jeux vidéos",
blank=True, null=True, max_length=200,
)
caption_black = models.CharField(
"Légende planning (noir)", default="Autre",
blank=True, null=True, max_length=200,
)
@property
def contact_email_reversed(self) -> str:
return self.contact_email[::-1]
......@@ -134,6 +188,17 @@ class SiteSettings(SingletonModel):
if self.date_start:
return self.date_start + timedelta(days=1)
@property
def has_caption(self) -> bool:
"""Vérifie si l'une des légende est non-nulle"""
return self.caption_red \
or self.caption_orange \
or self.caption_yellow \
or self.caption_green \
or self.caption_blue \
or self.caption_dark_blue \
or self.caption_black
class Meta:
verbose_name = "paramètres"
verbose_name_plural = "paramètres"
......