<?php
namespace App\Entity;
use App\Repository\RequestRegistrationRepository;
use App\Traits\DateTrait;
use Doctrine\ORM\Mapping as ORM;
use JMS\Serializer\Annotation as Serializer;
use JMS\Serializer\Annotation\Expose;
use JMS\Serializer\Annotation\Groups;
/**
* Entity pour les inscriptions qui ont besoin d'une validation
*
* @ORM\Entity(repositoryClass=RequestRegistrationRepository::class)
*
* @Serializer\ExclusionPolicy("ALL")
*/
class RequestRegistration
{
/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
*
* @Expose
* @Groups({
* "request_registration:id",
* "request_registration", "export_request_registration_datatable"
* })
*/
private ?int $id = NULL;
/**
* Utilisateur qui fait la validation
*
* @ORM\OneToOne(targetEntity=User::class, mappedBy="requestRegistration", cascade={"persist"})
* @ORM\JoinColumn(nullable=false, onDelete="CASCADE")
*
* @Expose
* @Groups({
* "request_registration:user",
* "request_registration", "export_request_registration_datatable"
* })
*/
private ?User $user;
/**
* Personne assignée à valider l'inscription
*
* @ORM\ManyToOne(targetEntity=User::class, inversedBy="requestRegistrationsToValidate")
*
* @Expose
* @Groups({
* "request_registration:referent",
* "request_registration", "export_request_registration_datatable"
* })
*/
private ?User $referent = NULL;
/**
* Inscription validée ou non
* @ORM\Column(type="boolean", nullable=true)
*
* @Expose
* @Groups({
* "request_registration:accepted",
* "request_registration", "export_request_registration_datatable"
* })
*/
private ?bool $accepted = NULL;
use DateTrait;
public function getId(): ?int
{
return $this->id;
}
public function getUser(): ?User
{
return $this->user;
}
public function setUser(User $user): self
{
$this->user = $user;
return $this;
}
public function getReferent(): ?User
{
return $this->referent;
}
public function setReferent(?User $referent): self
{
$this->referent = $referent;
return $this;
}
public function isAccepted(): ?bool
{
return $this->accepted;
}
public function setAccepted(?bool $accepted): self
{
$this->accepted = $accepted;
return $this;
}
}