feat : ajout des sites pour les employés et retour arrière sur l'impression

This commit is contained in:
2026-02-04 18:00:46 +01:00
parent a5dcd5e3e9
commit 9568324a4a
16 changed files with 819 additions and 626 deletions

View File

@@ -9,7 +9,10 @@ use DateTimeImmutable;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Serializer\Attribute\Groups;
#[ApiResource(normalizationContext: ['groups' => ['employee:read']])]
#[ApiResource(
normalizationContext: ['groups' => ['employee:read', 'site:read']],
denormalizationContext: ['groups' => ['employee:write']]
)]
#[ORM\Entity]
#[ORM\Table(name: 'employees')]
class Employee
@@ -21,13 +24,19 @@ class Employee
private ?int $id = null;
#[ORM\Column(type: 'string', length: 100)]
#[Groups(['absence:read', 'employee:read'])]
#[Groups(['absence:read', 'employee:read', 'employee:write'])]
private string $firstName = '';
#[ORM\Column(type: 'string', length: 100)]
#[Groups(['absence:read', 'employee:read'])]
#[Groups(['absence:read', 'employee:read', 'employee:write'])]
private string $lastName = '';
#[ApiPlatform\Metadata\ApiProperty(readableLink: true)]
#[ORM\ManyToOne(targetEntity: Site::class)]
#[ORM\JoinColumn(nullable: true)]
#[Groups(['employee:read', 'employee:write'])]
private ?Site $site = null;
#[ORM\Column(type: 'datetime_immutable')]
private DateTimeImmutable $createdAt;
@@ -65,6 +74,18 @@ class Employee
return $this;
}
public function getSite(): ?Site
{
return $this->site;
}
public function setSite(?Site $site): self
{
$this->site = $site;
return $this;
}
public function getCreatedAt(): DateTimeImmutable
{
return $this->createdAt;