2026-04-30 13:28:57 +02:00
|
|
|
from django.db import models
|
|
|
|
|
from gestion_employe.models import Employe
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Reservation(models.Model):
|
|
|
|
|
"""Modèle de création des réservations"""
|
|
|
|
|
TYPE_CHOICES = [
|
|
|
|
|
('formation', 'Salle de formation'),
|
|
|
|
|
('reunion', 'Salle de réunion'),
|
|
|
|
|
('lien_zoom', 'Lien Zoom'),
|
|
|
|
|
]
|
|
|
|
|
STATUT = [
|
|
|
|
|
('en_attente', 'En attente'),
|
|
|
|
|
('validee', 'Validée'),
|
|
|
|
|
('refusee', 'Refusée'),
|
|
|
|
|
('annulee', 'Annulée'),
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
employe = models.ForeignKey(Employe, on_delete=models.CASCADE)
|
|
|
|
|
salle = models.CharField(max_length=100, choices=TYPE_CHOICES)
|
|
|
|
|
date_demande = models.DateTimeField(auto_now_add=True)
|
|
|
|
|
date_debut = models.DateField()
|
|
|
|
|
date_fin = models.DateField(blank=True,null=True)
|
|
|
|
|
heure_debut = models.TimeField()
|
|
|
|
|
heure_fin = models.TimeField()
|
|
|
|
|
besoin_zoom = models.BooleanField(default=False, verbose_name="Besoin d'un lien Zoom ?")
|
|
|
|
|
besoin_ordi = models.BooleanField(default=False, verbose_name="Besoin d'un ordinateur ?")
|
|
|
|
|
lien_zoom = models.URLField(blank=True, null=True, verbose_name="Lien Zoom")
|
|
|
|
|
motif_reservation = models.TextField()
|
|
|
|
|
statut = models.CharField(choices=STATUT, default='en_attente', max_length=25)
|
|
|
|
|
|
|
|
|
|
def __str__(self):
|
2026-04-30 13:28:57 +02:00
|
|
|
return f"{self.salle} - {self.employe.user.first_name} {self.employe.user.last_name}"
|