<?php
namespace App\Entity;
use App\Repository\ParTipoPermisoRepository;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
#[ORM\Entity(repositoryClass: ParTipoPermisoRepository::class)]
class ParTipoPermiso {
#[ORM\Id]
#[ORM\GeneratedValue]
#[ORM\Column]
private ?int $id = null;
#[ORM\Column(length: 255)]
private ?string $nombre = null;
#[ORM\ManyToMany(targetEntity: GHSolicitudDotacionGesUsu::class, mappedBy: 'tipoPermisos')]
private Collection $solicitudDotacionGesUsu;
#[ORM\ManyToMany(targetEntity: ParSistemaInformatico::class, mappedBy: 'permisosSistemas')]
private Collection $sistemasInformaticos;
public function __toString() {
return $this->getNombre();
}
public function __construct() {
$this->solicitudDotacionGesUsu = new ArrayCollection();
$this->sistemasInformaticos = new ArrayCollection();
}
public function getId(): ?int {
return $this->id;
}
public function getNombre(): ?string {
return $this->nombre;
}
public function setNombre(string $nombre): static {
$this->nombre = $nombre;
return $this;
}
/**
* @return Collection<int, GHSolicitudDotacionGesUsu>
*/
public function getSolicitudDotacionGesUsu(): Collection {
return $this->solicitudDotacionGesUsu;
}
public function addSolicitudDotacionGesUsu(GHSolicitudDotacionGesUsu $solicitudDotacionGesUsu): static {
if (!$this->solicitudDotacionGesUsu->contains($solicitudDotacionGesUsu)) {
$this->solicitudDotacionGesUsu->add($solicitudDotacionGesUsu);
$solicitudDotacionGesUsu->addTipoPermiso($this);
}
return $this;
}
public function removeSolicitudDotacionGesUsu(GHSolicitudDotacionGesUsu $solicitudDotacionGesUsu): static {
if ($this->solicitudDotacionGesUsu->removeElement($solicitudDotacionGesUsu)) {
$solicitudDotacionGesUsu->removeTipoPermiso($this);
}
return $this;
}
/**
* @return Collection
*/
public function getSistemasInformaticos(): Collection{
return $this->sistemasInformaticos;
}
public function addSistemasInformaticos(ParSistemaInformatico $sistemasInformaticos): static {
if (!$this->sistemasInformaticos->contains($sistemasInformaticos)) {
$this->sistemasInformaticos->add($sistemasInformaticos);
$sistemasInformaticos->addPermisosSistemas($this); // OJO: acá también es addPermisosSistemas
}
return $this;
}
public function removeSistemasInformaticos(ParSistemaInformatico $sistemasInformaticos): static {
if ($this->sistemasInformaticos->removeElement($sistemasInformaticos)) {
$sistemasInformaticos->removePermisosSistemas($this);
}
return $this;
}
}