WIP: Adjust model, remove manager branch in navigation

This commit is contained in:
Björn Fromme
2023-10-07 17:34:40 +02:00
parent 25a90b04aa
commit 8740041e7a
30 changed files with 302 additions and 152 deletions
+30 -15
View File
@@ -5,6 +5,8 @@ namespace App\Entity;
use App\Entity\Traits\BlameableEntity;
use App\Entity\Traits\TimestampableEntity;
use App\Repository\JobProfileRepository;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\DBAL\Types\Types;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Uid\Uuid;
@@ -28,15 +30,16 @@ class JobProfile implements BlameableEntityInterface, TimestampableEntityInterfa
#[Assert\NotBlank(message: 'Bitte gib die Bezeichnung an')]
private ?string $name = null;
#[ORM\ManyToOne]
private ?Training $requiredTraining = null;
#[ORM\Column(type: Types::JSON)]
private array $requiredLicenses = [];
#[ORM\ManyToMany(targetEntity: Training::class)]
private Collection $requiredTrainings;
public function __construct()
{
$this->uuid = Uuid::v4();
$this->requiredTrainings = new ArrayCollection();
}
public function getId(): ?int
@@ -61,18 +64,6 @@ class JobProfile implements BlameableEntityInterface, TimestampableEntityInterfa
return $this;
}
public function getRequiredTraining(): ?Training
{
return $this->requiredTraining;
}
public function setRequiredTraining(?Training $requiredTraining): static
{
$this->requiredTraining = $requiredTraining;
return $this;
}
public function getRequiredLicenses(): array
{
return $this->requiredLicenses;
@@ -84,4 +75,28 @@ class JobProfile implements BlameableEntityInterface, TimestampableEntityInterfa
return $this;
}
/**
* @return Collection<int, Training>
*/
public function getRequiredTrainings(): Collection
{
return $this->requiredTrainings;
}
public function addRequiredTraining(Training $requiredTraining): static
{
if (!$this->requiredTrainings->contains($requiredTraining)) {
$this->requiredTrainings->add($requiredTraining);
}
return $this;
}
public function removeRequiredTraining(Training $requiredTraining): static
{
$this->requiredTrainings->removeElement($requiredTraining);
return $this;
}
}