src/Admin/Modules/Contract/Entity/ContractTasksTemplate.php line 15

  1. <?php
  2. namespace App\Admin\Modules\Contract\Entity;
  3. use App\Modules\User\Entity\User;
  4. use Doctrine\Common\Collections\ArrayCollection;
  5. use Doctrine\Common\Collections\Collection;
  6. use Doctrine\DBAL\Types\Types;
  7. use Doctrine\ORM\Mapping as ORM;
  8. /**
  9.  * @ORM\Table(name="contract_tasks_template", uniqueConstraints={@ORM\UniqueConstraint(columns={"id_added_by", "name"})}, indexes={@ORM\Index(columns={"department"})})
  10.  * @ORM\Entity(repositoryClass="App\Admin\Modules\Contract\Repository\ContractTasksTemplateRepository")
  11.  */
  12. class ContractTasksTemplate
  13. {
  14.     const DEPARTMENT_SALES 1;
  15.     const DEPARTMENT_SUBSTANTIVE 2;
  16.     /**
  17.      * @var int
  18.      *
  19.      * @ORM\Column(type="bigint", options={"unsigned"=true}))
  20.      * @ORM\Id
  21.      * @ORM\GeneratedValue(strategy="AUTO")
  22.      */
  23.     protected $id;
  24.     
  25.     /**
  26.      * @var string
  27.      *
  28.      * @ORM\Column(name="name", type="string", length=255, nullable=false, options={"collation"="utf8_unicode_ci"})
  29.      */
  30.     private $name;
  31.     /**
  32.      * @var int
  33.      *
  34.      * @ORM\Column(name="department", type="smallint", nullable=false)
  35.      */
  36.     private $department;
  37.     /**
  38.      * @var \App\Modules\User\Entity\User
  39.      *
  40.      * @ORM\ManyToOne(targetEntity="App\Modules\User\Entity\User")
  41.      * @ORM\JoinColumns({
  42.      *   @ORM\JoinColumn(name="id_added_by", referencedColumnName="id", nullable=false, onDelete="CASCADE")
  43.      * })
  44.      */
  45.     private $addedBy;
  46.     
  47.     /**
  48.      * @var \App\Admin\Modules\Contract\Entity\ContractTasksTemplateTask
  49.      *
  50.      * @ORM\OneToMany(targetEntity="App\Admin\Modules\Contract\Entity\ContractTasksTemplateTask", mappedBy="template", cascade={"persist"}, orphanRemoval=true)
  51.      * @ORM\OrderBy({"position"="ASC"})
  52.      */
  53.     private $tasks;
  54.     public function __construct()
  55.     {
  56.         $this->tasks = new ArrayCollection();
  57.     }
  58.     
  59.     public function __toString()
  60.     {
  61.         return $this->name;
  62.     }
  63.     public function getId(): ?string
  64.     {
  65.         return $this->id;
  66.     }
  67.     public function setId(string $id): self
  68.     {
  69.         $this->id $id;
  70.         return $this;
  71.     }
  72.     public function getName(): ?string
  73.     {
  74.         return $this->name;
  75.     }
  76.     public function setName(string $name): self
  77.     {
  78.         $this->name $name;
  79.         return $this;
  80.     }
  81.     public function getDepartment(): ?int
  82.     {
  83.         return $this->department;
  84.     }
  85.     public function setDepartment(int $department): self
  86.     {
  87.         $this->department $department;
  88.         return $this;
  89.     }
  90.     public function getAddedBy(): ?User
  91.     {
  92.         return $this->addedBy;
  93.     }
  94.     public function setAddedBy(?User $addedBy): self
  95.     {
  96.         $this->addedBy $addedBy;
  97.         return $this;
  98.     }
  99.     /**
  100.      * @return Collection<int, ContractTasksTemplateTask>
  101.      */
  102.     public function getTasks(): Collection
  103.     {
  104.         return $this->tasks;
  105.     }
  106.     public function addTask(ContractTasksTemplateTask $task): self
  107.     {
  108.         if (!$this->tasks->contains($task)) {
  109.             $this->tasks->add($task);
  110.             $task->setTemplate($this);
  111.         }
  112.         return $this;
  113.     }
  114.     public function removeTask(ContractTasksTemplateTask $task): self
  115.     {
  116.         if ($this->tasks->removeElement($task)) {
  117.             // set the owning side to null (unless already changed)
  118.             if ($task->getTemplate() === $this) {
  119.                 $task->setTemplate(null);
  120.             }
  121.         }
  122.         return $this;
  123.     }
  124. }