src/Entity/OrganizationUnit.php line 14

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use App\Repository\OrganizationUnitRepository;
  4. use Doctrine\Common\Collections\ArrayCollection;
  5. use Doctrine\Common\Collections\Collection;
  6. use Doctrine\ORM\Mapping as ORM;
  7. use Symfony\Component\Serializer\Annotation\Ignore;
  8. /**
  9.  * @ORM\Entity(repositoryClass=OrganizationUnitRepository::class)
  10.  */
  11. class OrganizationUnit
  12. {
  13.     /**
  14.      * @ORM\Id
  15.      * @ORM\GeneratedValue
  16.      * @ORM\Column(type="integer")
  17.      */
  18.     private $id;
  19.     /**
  20.      * @ORM\Column(type="string", length=255)
  21.      */
  22.     private $name;
  23.     /**
  24.      * @ORM\ManyToOne(targetEntity=Organization::class, inversedBy="organizationUnits")
  25.      * @ORM\JoinColumn(nullable=false)
  26.      */
  27.     private $organization;
  28.     /**
  29.      * @ORM\Column(type="string", length=15, nullable=true)
  30.      */
  31.     private $acronym;
  32.     /**
  33.      * @ORM\ManyToOne(targetEntity=User::class)
  34.      */
  35.     private $head;
  36.     /**
  37.      * @ORM\ManyToOne(targetEntity=OrganizationUnit::class)
  38.      */
  39.     private $reportsTo;
  40.     /**
  41.      * @ORM\OneToMany(targetEntity=Project::class, mappedBy="unit")
  42.      * @Ignore()
  43.      */
  44.     private $projects;
  45.     /**
  46.      * @ORM\OneToMany(targetEntity=User::class, mappedBy="unit")
  47.      * @Ignore()
  48.      */
  49.     private $users;
  50.     public function __construct()
  51.     {
  52.         $this->projects = new ArrayCollection();
  53.         $this->users = new ArrayCollection();
  54.     }
  55.     public function getId(): ?int
  56.     {
  57.         return $this->id;
  58.     }
  59.     public function getName(): ?string
  60.     {
  61.         return $this->name;
  62.     }
  63.     public function setName(string $name): self
  64.     {
  65.         $this->name $name;
  66.         return $this;
  67.     }
  68.     public function getOrganization(): ?Organization
  69.     {
  70.         return $this->organization;
  71.     }
  72.     public function setOrganization(?Organization $organization): self
  73.     {
  74.         $this->organization $organization;
  75.         return $this;
  76.     }
  77.     public function getAcronym(): ?string
  78.     {
  79.         return $this->acronym;
  80.     }
  81.     public function setAcronym(?string $acronym): self
  82.     {
  83.         $this->acronym $acronym;
  84.         return $this;
  85.     }
  86.     public function getHead(): ?User
  87.     {
  88.         return $this->head;
  89.     }
  90.     public function setHead(?User $head): self
  91.     {
  92.         $this->head $head;
  93.         return $this;
  94.     }
  95.     public function getReportsTo(): ?self
  96.     {
  97.         return $this->reportsTo;
  98.     }
  99.     public function setReportsTo(?self $reportsTo): self
  100.     {
  101.         $this->reportsTo $reportsTo;
  102.         return $this;
  103.     }
  104.     public function __toString()
  105.     {
  106.         return $this->name;
  107.     }
  108.     /**
  109.      * @return Collection|Project[]
  110.      */
  111.     public function getProjects(): Collection
  112.     {
  113.         return $this->projects;
  114.     }
  115.     public function addProject(Project $project): self
  116.     {
  117.         if (!$this->projects->contains($project)) {
  118.             $this->projects[] = $project;
  119.             $project->setUnit($this);
  120.         }
  121.         return $this;
  122.     }
  123.     public function removeProject(Project $project): self
  124.     {
  125.         if ($this->projects->removeElement($project)) {
  126.             // set the owning side to null (unless already changed)
  127.             if ($project->getUnit() === $this) {
  128.                 $project->setUnit(null);
  129.             }
  130.         }
  131.         return $this;
  132.     }
  133.     /**
  134.      * @return Collection|User[]
  135.      */
  136.     public function getUsers(): Collection
  137.     {
  138.         return $this->users;
  139.     }
  140.     public function addUser(User $user): self
  141.     {
  142.         if (!$this->users->contains($user)) {
  143.             $this->users[] = $user;
  144.             $user->setUnit($this);
  145.         }
  146.         return $this;
  147.     }
  148.     public function removeUser(User $user): self
  149.     {
  150.         if ($this->users->removeElement($user)) {
  151.             // set the owning side to null (unless already changed)
  152.             if ($user->getUnit() === $this) {
  153.                 $user->setUnit(null);
  154.             }
  155.         }
  156.         return $this;
  157.     }
  158. }