mirror of
https://git.v0id.ovh/n3wt-innov/n3wt-school.git
synced 2026-01-28 23:43:22 +00:00
37 lines
1.3 KiB
Python
37 lines
1.3 KiB
Python
from django.db import models
|
|
from django.contrib.postgres.fields import ArrayField
|
|
from django.utils.translation import gettext_lazy as _
|
|
|
|
import os
|
|
|
|
def registration_logo_upload_to(instance, filename):
|
|
ext = os.path.splitext(filename)[1]
|
|
return f"logos/school_{instance.pk}/logo{ext}"
|
|
|
|
class StructureType(models.IntegerChoices):
|
|
MATERNELLE = 1, _('Maternelle')
|
|
PRIMAIRE = 2, _('Primaire')
|
|
SECONDAIRE = 3, _('Secondaire')
|
|
|
|
class EvaluationFrequency(models.IntegerChoices):
|
|
TRIMESTER = 1, _("Trimestre")
|
|
SEMESTER = 2, _("Semestre")
|
|
YEAR = 3, _("Année")
|
|
|
|
class Establishment(models.Model):
|
|
name = models.CharField(max_length=255)
|
|
address = models.CharField(max_length=255)
|
|
total_capacity = models.IntegerField()
|
|
establishment_type = ArrayField(models.IntegerField(choices=StructureType.choices))
|
|
evaluation_frequency = models.IntegerField(choices=EvaluationFrequency.choices, default=EvaluationFrequency.TRIMESTER)
|
|
licence_code = models.CharField(max_length=100, blank=True)
|
|
is_active = models.BooleanField(default=True)
|
|
created_at = models.DateTimeField(auto_now_add=True)
|
|
logo = models.FileField(
|
|
upload_to=registration_logo_upload_to,
|
|
null=True,
|
|
blank=True
|
|
)
|
|
|
|
def __str__(self):
|
|
return self.name |