* @ORM\OneToMany(targetEntity=PersonActivity::class, mappedBy="access", orphanRemoval=true, cascade={"persist"}) * @ApiSubresource() */ private $personActivity; /** * @var ArrayCollection * @ORM\OneToMany(targetEntity=OrganizationFunction::class, mappedBy="access", orphanRemoval=true, cascade={"persist"}) * @ApiSubresource() */ private $organizationFunction; /** * @var ArrayCollection * @ORM\OneToMany(targetEntity=OrganizationLicence::class, mappedBy="licensee", orphanRemoval=true) */ private $organizationLicences; /** * @var ArrayCollection * @ORM\ManyToMany(targetEntity=Access::class, mappedBy="children", cascade={"persist"}) */ private $guardians; /** * @var ArrayCollection * @ORM\ManyToMany(targetEntity=Access::class, inversedBy="guardians", cascade={"persist"}) * @ORM\JoinTable(name="children_guardians", * joinColumns={@ORM\JoinColumn(name="guardians_id", referencedColumnName="id")}, * inverseJoinColumns={@ORM\JoinColumn(name="children_id", referencedColumnName="id")} * ) */ private $children; public function __construct() { $this->personActivity = new ArrayCollection(); $this->organizationFunction = new ArrayCollection(); $this->organizationLicences = new ArrayCollection(); $this->guardians = new ArrayCollection(); $this->children = new ArrayCollection(); } public function getId(): ?int { return $this->id; } public function getAdminAccess(): ?bool { return $this->adminAccess; } public function setAdminAccess(bool $adminAccess): self { $this->adminAccess = $adminAccess; return $this; } public function getActivityYear(): ?int { return $this->activityYear; } public function setActivityYear(int $activityYear): self { $this->activityYear = $activityYear; return $this; } public function getPerson(): ?Person { return $this->person; } public function setPerson(?Person $person): self { $this->person = $person; return $this; } public function getOrganization(): ?Organization { return $this->organization; } public function setOrganization(?Organization $organization): self { $this->organization = $organization; return $this; } /** * @return Collection|PersonActivity[] */ public function getPersonActivity(): Collection { return $this->personActivity; } public function addPersonActivity(PersonActivity $personActivity): self { if (!$this->personActivity->contains($personActivity)) { $this->personActivity[] = $personActivity; $personActivity->setAccess($this); } return $this; } public function removePersonActivity(PersonActivity $personActivity): self { if ($this->personActivity->removeElement($personActivity)) { // set the owning side to null (unless already changed) if ($personActivity->getAccess() === $this) { $personActivity->setAccess(null); } } return $this; } /** * @return Collection|OrganizationFunction[] */ public function getOrganizationFunction(): Collection { return $this->organizationFunction; } public function addOrganizationFunction (OrganizationFunction $organizationFunction): self { if (!$this->organizationFunction->contains($organizationFunction)) { $this->organizationFunction[] = $organizationFunction; $organizationFunction->setAccess($this); } return $this; } public function removeOrganizationFunction(OrganizationFunction $organizationFunction): self { if ($this->organizationFunction->removeElement($organizationFunction)) { // set the owning side to null (unless already changed) if ($organizationFunction->getAccess() === $this) { $organizationFunction->setAccess(null); } } return $this; } /** * A visual identifier that represents this user. * * @see string */ public function getUserIdentifier(): string { return $this->getPerson()->getUsername(); } /** * @inheritDoc */ public function setRoles(array $roles): self { $this->roles = $roles; return $this; } /** * @inheritDoc */ public function getRoles(): array { $roles = $this->roles; return array_unique($roles); } public function setSetting(array $setting): self { $this->setting = $setting; return $this; } public function getSetting(): array { return $this->setting; } public function getHistorical(): array { return $this->setting['historical'] ?? []; } public function setHistorical(array $historical): self { $this->setting['historical'] = $historical; return $this; } /** * @inheritDoc */ public function getPassword() { // TODO: Implement getPassword() method. } /** * @inheritDoc */ public function getSalt() { // TODO: Implement getSalt() method. } /** * @inheritDoc */ public function getUsername() { // TODO: Implement getUsername() method. } /** * @inheritDoc */ public function eraseCredentials() { // TODO: Implement eraseCredentials() method. } /** * @return Collection|OrganizationLicence[] */ public function getOrganizationLicences(): Collection { return $this->organizationLicences; } public function addOrganizationLicence(OrganizationLicence $organizationLicence): self { if (!$this->organizationLicences->contains($organizationLicence)) { $this->organizationLicences[] = $organizationLicence; $organizationLicence->setLicensee($this); } return $this; } public function removeOrganizationLicence(OrganizationLicence $organizationLicence): self { if ($this->organizationLicences->removeElement($organizationLicence)) { // set the owning side to null (unless already changed) if ($organizationLicence->getLicensee() === $this) { $organizationLicence->setLicensee(null); } } return $this; } /** * @return Collection|Access[] */ public function getChildren(): Collection { return $this->children; } public function addChild (Access $access): self { if (!$this->children->contains($access)) { $this->children[] = $access; $access->addGuardian($this); } return $this; } public function removeChild(Access $access): self { if ($this->children->removeElement($access)) { $access->removeGuardian($this); } return $this; } /** * @return Collection|Access[] */ public function getGuardians(): Collection { return $this->guardians; } public function addGuardian(Access $access): self { if (!$this->guardians->contains($access)) { $this->guardians[] = $access; $access->addChild($this); } return $this; } public function removeGuardian(Access $access): self { if ($this->guardians->removeElement($access)) { $access->removeChild($this); } return $this; } }