src/Entity/GDA/PlanningDispo.php line 17

Open in your IDE?
  1. <?php
  2. namespace App\Entity\GDA;
  3. use App\Entity\AssistantMaternel\AssistantMaternel;
  4. use \JsonSerializable;
  5. use Doctrine\ORM\Mapping as ORM;
  6. /**
  7.  * @ORM\Entity
  8.  * @ORM\Table(name="efc.gda_planning_dispo", uniqueConstraints={
  9.  *     @ORM\UniqueConstraint(name="unicite_dispo_creneau", columns={
  10.  *         "id_assmat", "id_periode", "id_lieu_accueil", "id_type_accueil", "id_tranche_age", "id_jour_semaine", "id_tranche_horaire"
  11.  *     })
  12.  * })
  13.  */
  14. class PlanningDispo  implements JsonSerializable
  15. {
  16.     use \App\Entity\Commun\IdTrait;
  17.     /**
  18.      * @ORM\ManyToOne(targetEntity="App\Entity\AssistantMaternel\AssistantMaternel", inversedBy="dispos")
  19.      * @ORM\JoinColumn(name="id_assmat", referencedColumnName="id", nullable=false)
  20.      */
  21.     private $assmat;
  22.     use \App\Entity\Commun\Disponibilite\PeriodeTrait;
  23.     use \App\Entity\Commun\Disponibilite\LieuAccueilTrait;
  24.     use \App\Entity\Commun\Disponibilite\TypeAccueilTrait;
  25.     use \App\Entity\Commun\Disponibilite\TrancheAgeTrait;
  26.     use \App\Entity\Commun\Disponibilite\JourSemaineTrait;
  27.     use \App\Entity\Commun\Disponibilite\TrancheHoraireTrait;
  28.     use \App\Entity\Commun\Disponibilite\FrequenceDispoTrait;
  29.     use \App\Entity\Commun\Disponibilite\NombrePlacesLibresTrait;
  30.     use \App\Entity\Commun\Disponibilite\NombrePlacesLibresIrregulierTrait;
  31.     use \App\Entity\Commun\Disponibilite\NombrePlacesTotalTrait;
  32.     /**
  33.      * Set assmat
  34.      *
  35.      * @param App\Entity\AssistantMaternel\AssistantMaternel $assmat
  36.      *
  37.      * @return PlanningDispo
  38.      */
  39.     public function setAssmat($assmat)
  40.     {
  41.         $this->assmat $assmat;
  42.         return $this;
  43.     }
  44.     /**
  45.      * Get assmat
  46.      *
  47.      * @return AssistantMaternel
  48.      */
  49.     public function getAssmat()
  50.     {
  51.         return $this->assmat;
  52.     }
  53.     /**
  54.      * Constructor
  55.      */
  56.     public function __construct()
  57.     { }
  58.     /*
  59.     * Implémentation de JsonSerializable
  60.     * Ne liste que les champs modifiables par les utilisateurs
  61.     */
  62.     public function jsonSerialize()
  63.     {
  64.         return [
  65.             'j' => $this->jour_semaine->getId(),
  66.             't' => $this->tranche_horaire->getId(),
  67.             'f' => $this->frequence_dispo->getId(),
  68.             'nl' => $this->nombre_places_libres,
  69.             'ni' => $this->nombre_places_libres_irregulier,
  70.             'nt' => $this->nombre_places_total
  71.         ];
  72.     }
  73. }