src/Entity/Groupe.php line 15

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use App\Repository\GroupeRepository;
  4. use DateTimeInterface;
  5. use Doctrine\DBAL\Types\Types;
  6. use Doctrine\ORM\Mapping as ORM;
  7. use Symfony\Component\Validator\Constraints as Assert;
  8. #[ORM\Entity(repositoryClassGroupeRepository::class)]
  9. #[ORM\Table(name'groupes')]
  10. class Groupe
  11. {
  12.     //---------------------------------- ID ----------------------------------------------------//
  13.     #[ORM\Id]
  14.     #[ORM\GeneratedValue]
  15.     #[ORM\Column]
  16.     private ?int $id null;
  17.     //---------------------------------- DATE DEPART  ----------------------------------------------------//
  18.     #[Assert\NotBlank(message'Entrez la date de départ')]
  19.     #[ORM\Column(typeTypes::DATE_MUTABLE)]
  20.     private ?DateTimeInterface $dateDepart null;
  21.     //---------------------------------- DATE RETOUR ----------------------------------------------------//
  22.     #[ORM\Column(typeTypes::DATE_MUTABLE)]
  23.     private ?DateTimeInterface $dateRetour null;
  24.     //---------------------------------- HEURE DEPART ----------------------------------------------------//
  25.     #[ORM\Column(typeTypes::TIME_MUTABLE)]
  26.     private ?DateTimeInterface $heureDepart null;
  27.     //---------------------------------- HEURE RETOUR ----------------------------------------------------//
  28.     #[ORM\Column(typeTypes::TIME_MUTABLE)]
  29.     private ?DateTimeInterface $heureRetour null;
  30.     //---------------------------------- NOMBRE PERSONNES -------------------------------------------//
  31.     #[Assert\NotBlank(message'Entrez le nombre de personnes !')]
  32.     #[Assert\Regex(
  33.         pattern'/\D/',
  34.         message'Cette valeur doit contenir que des chiffres !',
  35.         match: false,
  36.     )]
  37.     #[Assert\Range(
  38.         min8,
  39.         max100,
  40.         notInRangeMessage 'Minimum {{ min }} - Au delàs de {{ max }} faites plusieurs groupes !',
  41.     ) ]
  42.     #[ORM\Column]
  43.     private ?int $nbPersonnes null;
  44.     //---------------------------------- PROGRAMME pour sejour -------------------------------------//
  45.     #[ORM\Column(typeTypes::TEXTnullabletrue)]
  46.     private ?string $programme null;
  47.     //---------------------------------- DETAIL transport (transfert et prestaion journee) ---------//
  48.     #[ORM\Column(typeTypes::TEXTnullabletrue)]
  49.     private ?string $detail null;
  50.     //---------------------------------- BUDGET ----------------------------------------------------//
  51.     #[Assert\Regex(
  52.         pattern'/\D/',
  53.         message'Doit contenir que des chiffres !',
  54.         match: false,
  55.     )]#[ORM\Column(nullabletrue)]
  56.     private ?int $budget null;
  57.     // Champs suplementaire (non visible sur le formulaire)
  58.     //---------------------------------- DATE PARUTION ---------------------------------------------//
  59.     #[ORM\Column(typeTypes::DATETIME_MUTABLE)]
  60.     private ?DateTimeInterface $dateParution null;
  61.     //---------------------------------- ANNULE ----------------------------------------------------//
  62.     #[ORM\Column]
  63.     private ?bool $annule null;
  64.     //---------------------------------- KILOMETRES ----------------------------------------------------//
  65.     #[Assert\Regex(
  66.         pattern'/\D/',
  67.         message'Doit contenir que des chiffres !',
  68.         match: false,
  69.     )]
  70.     #[ORM\Column(nullabletrue)]
  71.     private ?int $kilometres null;
  72.     //---------------------------------- observations ----------------------------------------------------//
  73.     #[ORM\Column(typeTypes::TEXTnullabletrue)]
  74.     private ?string $observation null;
  75.     //--------------------------------- Plage horaire depart ------------------------------------------//
  76.     private ?string $plageHoraire null;
  77.     //-----------------------------------------------------------------------------------------//
  78.     //---------------------------------------- RELATIONS --------------------------------------//
  79.     //---- Utilisateur (auteur du depot de groupe ----//
  80.     #[ORM\ManyToOne(inversedBy'groupes')]
  81.     private ?User $user null;
  82.     //---- Adresse depart ----//
  83.     #[Assert\NotBlank]
  84.     #[ORM\OneToOne(cascade: ['persist''remove'])]
  85.     private ?Adresse $adresseDepart null;
  86.     //---- Adresse retour ----//
  87.     #[Assert\NotBlank]
  88.     #[ORM\OneToOne(cascade: ['persist''remove'])]
  89.     private ?Adresse $adresseRetour null;
  90.     //---- Type de client a transporter ----//
  91.     #[Assert\NotBlank]
  92.     #[Assert\Length(
  93.         min:5,
  94.         max:90,
  95.         maxMessage'Le nombre maximum de personnes est de {{ limit }} merci de faire plusieurs groupes')]
  96.     #[ORM\ManyToOne]
  97.     private ?TypeClient $typeClient null;
  98.     //---- Type de groupe  ----//
  99.     #[Assert\NotBlank]
  100.     #[ORM\ManyToOne]
  101.     private ?TypeGroupe $typeGroupe null;
  102.     //---- Equipements ----//
  103.     #[ORM\OneToOne(cascade: ['persist''remove'])]
  104.     private ?Equipement $equipements null;
  105.     //---- Prestations (incluses) ----//
  106.     #[ORM\OneToOne(cascade: ['persist''remove'])]
  107.     private ?Prestation $prestation null;
  108.     #[ORM\Column(length255nullabletrue)]
  109.     private ?string $filePdf null;
  110.     public function getId(): ?int
  111.     {
  112.         return $this->id;
  113.     }
  114.     public function getDateDepart(): ?DateTimeInterface
  115.     {
  116.         return $this->dateDepart;
  117.     }
  118.     public function setDateDepart(DateTimeInterface $dateDepart): void
  119.     {
  120.         $this->dateDepart $dateDepart;
  121.     }
  122.     public function getDateRetour(): ?DateTimeInterface
  123.     {
  124.         return $this->dateRetour;
  125.     }
  126.     public function setDateRetour(DateTimeInterface $dateRetour): void
  127.     {
  128.         $this->dateRetour $dateRetour;
  129.     }
  130.     public function getHeureDepart(): ?DateTimeInterface
  131.     {
  132.         return $this->heureDepart;
  133.     }
  134.     public function setHeureDepart(DateTimeInterface $heureDepart): void
  135.     {
  136.         $this->heureDepart $heureDepart;
  137.     }
  138.     public function getHeureRetour(): ?DateTimeInterface
  139.     {
  140.         return $this->heureRetour;
  141.     }
  142.     public function setHeureRetour(DateTimeInterface $heureRetour): void
  143.     {
  144.         $this->heureRetour $heureRetour;
  145.     }
  146.     public function getNbPersonnes(): ?int
  147.     {
  148.         return $this->nbPersonnes;
  149.     }
  150.     public function setNbPersonnes(int $nbPersonnes): void
  151.     {
  152.         $this->nbPersonnes $nbPersonnes;
  153.     }
  154.     public function getProgramme(): ?string
  155.     {
  156.         return $this->programme;
  157.     }
  158.     public function setProgramme(?string $programme): void
  159.     {
  160.         $this->programme $programme;
  161.     }
  162.     public function getDetail(): ?string
  163.     {
  164.         return $this->detail;
  165.     }
  166.     public function setDetail(?string $detail): void
  167.     {
  168.         $this->detail $detail;
  169.     }
  170.     public function getDateParution(): ?DateTimeInterface
  171.     {
  172.         return $this->dateParution;
  173.     }
  174.     public function setDateParution(DateTimeInterface $dateParution): void
  175.     {
  176.         $this->dateParution $dateParution;
  177.     }
  178.     public function isAnnule(): ?bool
  179.     {
  180.         return $this->annule;
  181.     }
  182.     public function setAnnule(bool $annule): void
  183.     {
  184.         $this->annule $annule;
  185.     }
  186.     public function getBudget(): ?int
  187.     {
  188.         return $this->budget;
  189.     }
  190.     public function setBudget(int $budget): void
  191.     {
  192.         $this->budget $budget;
  193.     }
  194.     public function getUser(): ?User
  195.     {
  196.         return $this->user;
  197.     }
  198.     public function setUser(?User $user): void
  199.     {
  200.         $this->user $user;
  201.     }
  202.     public function getAdresseDepart(): ?Adresse
  203.     {
  204.         return $this->adresseDepart;
  205.     }
  206.     public function setAdresseDepart(Adresse $adresseDepart): void
  207.     {
  208.         $this->adresseDepart $adresseDepart;
  209.     }
  210.     public function getAdresseRetour(): ?Adresse
  211.     {
  212.         return $this->adresseRetour;
  213.     }
  214.     public function setAdresseRetour(Adresse $adresseRetour): void
  215.     {
  216.         $this->adresseRetour $adresseRetour;
  217.     }
  218.     public function getTypeClient(): ?TypeClient
  219.     {
  220.         return $this->typeClient;
  221.     }
  222.     public function setTypeClient(?TypeClient $typeClient): void
  223.     {
  224.         $this->typeClient $typeClient;
  225.     }
  226.     public function getPlageHoraire(): ?string
  227.     {
  228.         return $this->plageHoraire;
  229.     }
  230.     public function setPlageHoraire(?string $plageHoraire): void
  231.     {
  232.         $this->plageHoraire $plageHoraire;
  233.     }
  234.     public function getTypeGroupe(): ?TypeGroupe
  235.     {
  236.         return $this->typeGroupe;
  237.     }
  238.     public function setTypeGroupe(?TypeGroupe $typeGroupe): void
  239.     {
  240.         $this->typeGroupe $typeGroupe;
  241.     }
  242.     public function getEquipements(): ?Equipement
  243.     {
  244.         return $this->equipements;
  245.     }
  246.     public function setEquipements(Equipement $equipements): self
  247.     {
  248.         $this->equipements $equipements;
  249.         return $this;
  250.     }
  251.     public function getPrestation(): ?Prestation
  252.     {
  253.         return $this->prestation;
  254.     }
  255.     public function setPrestation(?Prestation $prestation): self
  256.     {
  257.         $this->prestation $prestation;
  258.         return $this;
  259.     }
  260.     public function getKilometres(): ?int
  261.     {
  262.         return $this->kilometres;
  263.     }
  264.     public function setKilometres(?int $kilometres): self
  265.     {
  266.         $this->kilometres $kilometres;
  267.         return $this;
  268.     }
  269.     public function getObservation(): ?string
  270.     {
  271.         return $this->observation;
  272.     }
  273.     public function setObservation(?string $observation): self
  274.     {
  275.         $this->observation $observation;
  276.         return $this;
  277.     }
  278.     public function getFilePdf(): ?string
  279.     {
  280.         return $this->filePdf;
  281.     }
  282.     public function setFilePdf(?string $filePdf): self
  283.     {
  284.         $this->filePdf $filePdf;
  285.         return $this;
  286.     }
  287. }