feat : Ajout de la sélection des bovins étape 3 d'une réception (WIP)
This commit is contained in:
@@ -28,15 +28,15 @@ class BovineType
|
||||
#[ORM\Id]
|
||||
#[ORM\GeneratedValue]
|
||||
#[ORM\Column]
|
||||
#[Groups(['bovine-type:read', 'reception:read'])]
|
||||
#[Groups(['bovine-type:read', 'reception:read', 'reception-bovine:read'])]
|
||||
private ?int $id = null;
|
||||
|
||||
#[ORM\Column(length: 120)]
|
||||
#[Groups(['bovine-type:read', 'reception:read'])]
|
||||
#[Groups(['bovine-type:read', 'reception:read', 'reception-bovine:read'])]
|
||||
private ?string $label = null;
|
||||
|
||||
#[ORM\Column(length: 50)]
|
||||
#[Groups(['bovine-type:read', 'reception:read'])]
|
||||
#[Groups(['bovine-type:read', 'reception:read', 'reception-bovine:read'])]
|
||||
private ?string $code = null;
|
||||
|
||||
public function getId(): ?int
|
||||
|
||||
@@ -72,27 +72,27 @@ class Reception
|
||||
#[ORM\Id]
|
||||
#[ORM\GeneratedValue]
|
||||
#[ORM\Column]
|
||||
#[Groups(['reception:read'])]
|
||||
#[Groups(['reception:read', 'reception-bovine:read'])]
|
||||
private ?int $id = null;
|
||||
|
||||
#[ORM\Column(length: 20, nullable: true)]
|
||||
#[Groups(['reception:read', 'reception:write'])]
|
||||
#[Groups(['reception:read', 'reception:write', 'reception-bovine:read'])]
|
||||
private ?string $licensePlate = null;
|
||||
|
||||
#[ORM\Column(length: 20, unique: true, nullable: true)]
|
||||
#[Groups(['reception:read'])]
|
||||
#[Groups(['reception:read', 'reception-bovine:read'])]
|
||||
private ?string $identificationNumber = null;
|
||||
|
||||
#[ORM\Column(options: ['default' => 0])]
|
||||
#[Groups(['reception:read', 'reception:write'])]
|
||||
#[Groups(['reception:read', 'reception:write', 'reception-bovine:read'])]
|
||||
private int $currentStep = 0;
|
||||
|
||||
#[ORM\Column(options: ['default' => false])]
|
||||
#[Groups(['reception:read', 'reception:write'])]
|
||||
#[Groups(['reception:read', 'reception:write', 'reception-bovine:read'])]
|
||||
private bool $isValid = false;
|
||||
|
||||
#[ORM\Column(name: 'date_reception', type: 'datetime_immutable')]
|
||||
#[Groups(['reception:read', 'reception:write'])]
|
||||
#[Groups(['reception:read', 'reception:write', 'reception-bovine:read'])]
|
||||
#[Context([DateTimeNormalizer::FORMAT_KEY => 'Y-m-d'])]
|
||||
private ?DateTimeImmutable $receptionDate = null;
|
||||
|
||||
|
||||
@@ -4,15 +4,21 @@ declare(strict_types=1);
|
||||
|
||||
namespace App\Entity;
|
||||
|
||||
use ApiPlatform\Doctrine\Orm\Filter\SearchFilter;
|
||||
use ApiPlatform\Metadata\ApiFilter;
|
||||
use ApiPlatform\Metadata\ApiProperty;
|
||||
use ApiPlatform\Metadata\ApiResource;
|
||||
use ApiPlatform\Metadata\Delete;
|
||||
use ApiPlatform\Metadata\Get;
|
||||
use ApiPlatform\Metadata\GetCollection;
|
||||
use ApiPlatform\Metadata\Patch;
|
||||
use ApiPlatform\Metadata\Post;
|
||||
use Doctrine\ORM\Mapping as ORM;
|
||||
use Symfony\Component\Serializer\Attribute\Groups;
|
||||
|
||||
#[ORM\Entity]
|
||||
#[ApiFilter(SearchFilter::class, properties: ['reception' => 'exact'])]
|
||||
#[ORM\UniqueConstraint(name: 'uniq_reception_bovine_type', columns: ['reception_id', 'bovine_type_id'])]
|
||||
#[ApiResource(
|
||||
operations: [
|
||||
new Get(
|
||||
@@ -26,6 +32,10 @@ use Symfony\Component\Serializer\Attribute\Groups;
|
||||
normalizationContext: ['groups' => ['reception-bovine:read']],
|
||||
denormalizationContext: ['groups' => ['reception-bovine:write']],
|
||||
),
|
||||
new Patch(
|
||||
normalizationContext: ['groups' => ['reception-bovine:read']],
|
||||
denormalizationContext: ['groups' => ['reception-bovine:write']],
|
||||
),
|
||||
new Delete(),
|
||||
],
|
||||
security: "is_granted('ROLE_USER')",
|
||||
@@ -36,20 +46,27 @@ class ReceptionBovine
|
||||
#[ORM\GeneratedValue]
|
||||
#[ORM\Column]
|
||||
#[Groups(['reception-bovine:read', 'reception:read'])]
|
||||
|
||||
private ?int $id = null;
|
||||
|
||||
#[ORM\ManyToOne(inversedBy: 'bovines_types')]
|
||||
#[Groups(['reception-bovine:read'])]
|
||||
#[Groups(['reception-bovine:read', 'reception-bovine:write'])]
|
||||
private ?Reception $reception = null;
|
||||
|
||||
#[ORM\ManyToOne]
|
||||
#[ORM\JoinColumn(nullable: false)]
|
||||
#[Groups(['reception-bovine:read', 'reception:read'])]
|
||||
private ?BovineType $BovineType = null;
|
||||
#[Groups(['reception-bovine:read', 'reception-bovine:write', 'reception:read'])]
|
||||
#[ApiProperty(readableLink: true)]
|
||||
private ?BovineType $bovineType = null;
|
||||
|
||||
#[ORM\Column(options: ['default' => 0])]
|
||||
#[Groups(['reception-bovine:read', 'reception:read'])]
|
||||
private ?int $Quantity = null;
|
||||
// #[Assert\Range(
|
||||
// min: 0,
|
||||
// max: 10,
|
||||
// notInRangeMessage: 'La quantité doit être comprise entre {{ min }} et {{ max }}.'
|
||||
// )]
|
||||
#[Groups(['reception-bovine:read', 'reception-bovine:write', 'reception:read'])]
|
||||
private ?int $quantity = null;
|
||||
|
||||
public function getId(): ?int
|
||||
{
|
||||
@@ -70,24 +87,24 @@ class ReceptionBovine
|
||||
|
||||
public function getBovineType(): ?BovineType
|
||||
{
|
||||
return $this->BovineType;
|
||||
return $this->bovineType;
|
||||
}
|
||||
|
||||
public function setBovineType(?BovineType $BovineType): static
|
||||
public function setBovineType(?BovineType $bovineType): static
|
||||
{
|
||||
$this->BovineType = $BovineType;
|
||||
$this->bovineType = $bovineType;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getQuantity(): ?int
|
||||
{
|
||||
return $this->Quantity;
|
||||
return $this->quantity;
|
||||
}
|
||||
|
||||
public function setQuantity(int $Quantity): static
|
||||
public function setQuantity(int $quantity): static
|
||||
{
|
||||
$this->Quantity = $Quantity;
|
||||
$this->quantity = $quantity;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user