src/Entity/AnualLeave.php line 16

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use App\Entity\Base\AbstractTimestampableEntity;
  4. use App\Repository\AnualLeaveRepository;
  5. use Doctrine\ORM\Mapping as ORM;
  6. use Symfony\Component\Validator\Constraints as Assert;
  7. use Symfony\Component\Validator\Mapping\ClassMetadata;
  8. use Symfony\Component\Validator\Constraints\GreaterThanOrEqual;
  9. /**
  10.  * @ORM\Entity(repositoryClass=AnualLeaveRepository::class)
  11.  * @ORM\HasLifecycleCallbacks
  12.  */
  13. class AnualLeave extends AbstractTimestampableEntity
  14. {
  15.     /**
  16.      * @ORM\Column(type="string", length=255)
  17.      */
  18.     private $name;
  19.     /**
  20.      * @ORM\Column(type="text", nullable=true)
  21.      */
  22.     private $description;
  23.     /**
  24.      * @ORM\Column(type="date")
  25.      */
  26.     private $startDate;
  27.     /**
  28.      * @ORM\Column(type="date")
  29.      */
  30.     private $endDate;
  31.     /**
  32.      * @ORM\ManyToOne(targetEntity=AnualLeaveType::class, inversedBy="anualLeaves")
  33.      * @ORM\JoinColumn(nullable=false)
  34.      */
  35.     private $anualLeaveType;
  36.     /**
  37.      * @ORM\ManyToOne(targetEntity=User::class, inversedBy="userAnualLeavs")
  38.      */
  39.     private $userOnHoliday;
  40.     /**
  41.      * @ORM\Column(type="boolean",options={"default":false})
  42.      */
  43.     private bool $deleted false;
  44.     /**
  45.      * @ORM\Column(type="boolean",options={"default":false})
  46.      */
  47.     private bool $accepted false;
  48.     public function getName(): ?string
  49.     {
  50.         return $this->name;
  51.     }
  52.     public function setName(string $name): self
  53.     {
  54.         $this->name $name;
  55.         return $this;
  56.     }
  57.     public function getDescription(): ?string
  58.     {
  59.         return $this->description;
  60.     }
  61.     public function setDescription(?string $description): self
  62.     {
  63.         $this->description $description;
  64.         return $this;
  65.     }
  66.     public function getStartDate(): ?\DateTimeInterface
  67.     {
  68.         return $this->startDate;
  69.     }
  70.     public function setStartDate(\DateTimeInterface $startDate): self
  71.     {
  72.         $this->startDate $startDate;
  73.         return $this;
  74.     }
  75.     public function getEndDate(): ?\DateTimeInterface
  76.     {
  77.         return $this->endDate;
  78.     }
  79.     public function setEndDate(\DateTimeInterface $endDate): self
  80.     {
  81.         $this->endDate $endDate;
  82.         return $this;
  83.     }
  84.     public function getAnualLeaveType(): ?AnualLeaveType
  85.     {
  86.         return $this->anualLeaveType;
  87.     }
  88.     public function setAnualLeaveType(?AnualLeaveType $anualLeaveType): self
  89.     {
  90.         $this->anualLeaveType $anualLeaveType;
  91.         return $this;
  92.     }
  93.     public function getUserOnHoliday()
  94.     {
  95.         return $this->userOnHoliday;
  96.     }
  97.     public function setUserOnHoliday($userOnHoliday): self
  98.     {
  99.         $this->userOnHoliday $userOnHoliday;
  100.         return $this;
  101.     }
  102.     public static function loadValidatorMetadata(ClassMetadata $metadata): void
  103.     {
  104.         $metadata->addPropertyConstraint('endDate',
  105.                     new Assert\GreaterThanOrEqual([
  106.                         'propertyPath' => 'startDate',
  107.                         'message' => 'A végdátumnak nagyobbnak vagy egyenlőnek kell lennie a kezdeti dátummal.']));
  108.     }
  109.     public function __toString(): string
  110.     {
  111.         return $this->getName();
  112.     }
  113.     public function isDeleted(): bool
  114.     {
  115.         return $this->deleted;
  116.     }
  117.     public function setDeleted(bool $deleted): self
  118.     {
  119.         $this->deleted $deleted;
  120.         return $this;
  121.     }
  122.     public function isAccepted(): bool
  123.     {
  124.         return $this->accepted;
  125.     }
  126.     public function setAccepted(bool $accepted): self
  127.     {
  128.         $this->accepted $accepted;
  129.         return $this;
  130.     }
  131. }