| Numéro du ticket | Titre du ticket | |------------------|-----------------| | #331 | Mettre à jour l'entité Shipment et bovin_shipment | ## Description de la PR ## Modification du .env ## Check list - [x] Pas de régression - [ ] TU/TI/TF rédigée - [x] TU/TI/TF OK - [x] CHANGELOG modifié Reviewed-on: https://gitea.malio.fr/MALIO-DEV/Ferme/pulls/30 Reviewed-by: Autin <tristan@yuno.malio.fr> Co-authored-by: kevin <kevin@yuno.malio.fr> Co-committed-by: kevin <kevin@yuno.malio.fr>
This commit is contained in:
@@ -1,101 +0,0 @@
|
||||
<?php
|
||||
|
||||
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: ['shipment' => 'exact'])]
|
||||
#[ORM\UniqueConstraint(name: 'uniq_bovin_shipment_one_type', columns: ['shipment_id'])]
|
||||
#[ORM\Table(name: 'bovin_shipment')]
|
||||
#[ApiResource(
|
||||
operations: [
|
||||
new Get(
|
||||
requirements: ['id' => '\d+'],
|
||||
normalizationContext: ['groups' => ['shipment-bovine:read']],
|
||||
),
|
||||
new GetCollection(
|
||||
normalizationContext: ['groups' => ['shipment-bovine:read']],
|
||||
),
|
||||
|
||||
new Post(
|
||||
normalizationContext: ['groups' => ['shipment-bovine:read']],
|
||||
denormalizationContext: ['groups' => ['shipment-bovine:write']],
|
||||
),
|
||||
new Patch(
|
||||
normalizationContext: ['groups' => ['shipment-bovine:read']],
|
||||
denormalizationContext: ['groups' => ['shipment-bovine:write']],
|
||||
),
|
||||
new Delete(),
|
||||
],
|
||||
security: "is_granted('ROLE_USER')",
|
||||
)]
|
||||
class BovinShipment
|
||||
{
|
||||
#[ORM\Id]
|
||||
#[ORM\GeneratedValue]
|
||||
#[ORM\Column]
|
||||
#[Groups(['shipment:read', 'shipment-bovine:read'])]
|
||||
private ?int $id = null;
|
||||
|
||||
#[ORM\ManyToOne(inversedBy: 'bovinShipments')]
|
||||
#[Groups(['shipment-bovine:read', 'shipment-bovine:write'])]
|
||||
#[ApiProperty(readableLink: true)]
|
||||
private ?Shipment $shipment = null;
|
||||
|
||||
#[ORM\ManyToOne]
|
||||
#[Groups(['shipment:read', 'shipment-bovine:write', 'shipment-bovine:read'])]
|
||||
#[ApiProperty(readableLink: true)]
|
||||
private ?ShipmentType $shipmentType = null;
|
||||
|
||||
#[ORM\Column]
|
||||
#[Groups(['shipment:read', 'shipment-bovine:write', 'shipment-bovine:read'])]
|
||||
private ?int $nbBovinSend = null;
|
||||
|
||||
public function getId(): ?int
|
||||
{
|
||||
return $this->id;
|
||||
}
|
||||
|
||||
public function getShipment(): ?Shipment
|
||||
{
|
||||
return $this->shipment;
|
||||
}
|
||||
|
||||
public function setShipment(?Shipment $shipment): void
|
||||
{
|
||||
$this->shipment = $shipment;
|
||||
}
|
||||
|
||||
public function getShipmentType(): ?ShipmentType
|
||||
{
|
||||
return $this->shipmentType;
|
||||
}
|
||||
|
||||
public function setShipmentType(?ShipmentType $shipmentType): void
|
||||
{
|
||||
$this->shipmentType = $shipmentType;
|
||||
}
|
||||
|
||||
public function getNbBovinSend(): ?int
|
||||
{
|
||||
return $this->nbBovinSend;
|
||||
}
|
||||
|
||||
public function setNbBovinSend(?int $nbBovinSend): void
|
||||
{
|
||||
$this->nbBovinSend = $nbBovinSend;
|
||||
}
|
||||
}
|
||||
+29
-43
@@ -123,17 +123,15 @@ class Shipment
|
||||
#[ApiProperty(readableLink: true)]
|
||||
private ?Customer $customer = null;
|
||||
|
||||
/**
|
||||
* @var Collection<int, BovinShipment>
|
||||
*/
|
||||
#[ORM\OneToMany(
|
||||
targetEntity: BovinShipment::class,
|
||||
mappedBy: 'shipment',
|
||||
cascade: ['persist', 'remove'],
|
||||
orphanRemoval: true
|
||||
)]
|
||||
#[ORM\ManyToOne(inversedBy: 'shipments')]
|
||||
#[ORM\JoinColumn(nullable: true)]
|
||||
#[Groups(['shipment:read', 'shipment:write'])]
|
||||
private Collection $bovinShipments;
|
||||
#[ApiProperty(readableLink: true)]
|
||||
private ?ShipmentType $shipmentType = null;
|
||||
|
||||
#[ORM\Column]
|
||||
#[Groups(['shipment:read', 'shipment:write'])]
|
||||
private int $nbBovinSend = 0;
|
||||
|
||||
/**
|
||||
* @var Collection<int, Weight>
|
||||
@@ -156,8 +154,7 @@ class Shipment
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
$this->bovinShipments = new ArrayCollection();
|
||||
$this->weights = new ArrayCollection();
|
||||
$this->weights = new ArrayCollection();
|
||||
}
|
||||
|
||||
public function getId(): ?int
|
||||
@@ -195,6 +192,26 @@ class Shipment
|
||||
$this->currentStep = $currentStep;
|
||||
}
|
||||
|
||||
public function getShipmentType(): ?ShipmentType
|
||||
{
|
||||
return $this->shipmentType;
|
||||
}
|
||||
|
||||
public function setShipmentType(?ShipmentType $shipmentType): void
|
||||
{
|
||||
$this->shipmentType = $shipmentType;
|
||||
}
|
||||
|
||||
public function getNbBovinSend(): int
|
||||
{
|
||||
return $this->nbBovinSend;
|
||||
}
|
||||
|
||||
public function setNbBovinSend(int $nbBovinSend): void
|
||||
{
|
||||
$this->nbBovinSend = $nbBovinSend;
|
||||
}
|
||||
|
||||
public function getIsValid(): ?bool
|
||||
{
|
||||
return $this->isValid;
|
||||
@@ -261,37 +278,6 @@ class Shipment
|
||||
$this->customer = $customer;
|
||||
}
|
||||
|
||||
public function getBovinShipments(): Collection
|
||||
{
|
||||
return $this->bovinShipments;
|
||||
}
|
||||
|
||||
public function setBovinShipments(Collection $bovinShipments): void
|
||||
{
|
||||
$this->bovinShipments = $bovinShipments;
|
||||
}
|
||||
|
||||
public function addBovinShipment(BovinShipment $bovinShipment): self
|
||||
{
|
||||
if (!$this->bovinShipments->contains($bovinShipment)) {
|
||||
$this->bovinShipments->add($bovinShipment);
|
||||
$bovinShipment->setShipment($this);
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function removeBovinShipment(BovinShipment $bovinShipment): self
|
||||
{
|
||||
if ($this->bovinShipments->removeElement($bovinShipment)) {
|
||||
if ($bovinShipment->getShipment() === $this) {
|
||||
$bovinShipment->setShipment(null);
|
||||
}
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Collection<int, Weight>
|
||||
*/
|
||||
|
||||
@@ -7,6 +7,8 @@ namespace App\Entity;
|
||||
use ApiPlatform\Metadata\ApiResource;
|
||||
use ApiPlatform\Metadata\Get;
|
||||
use ApiPlatform\Metadata\GetCollection;
|
||||
use Doctrine\Common\Collections\ArrayCollection;
|
||||
use Doctrine\Common\Collections\Collection;
|
||||
use Doctrine\ORM\Mapping as ORM;
|
||||
use Symfony\Component\Serializer\Attribute\Groups;
|
||||
|
||||
@@ -40,6 +42,14 @@ class ShipmentType
|
||||
#[Groups(['shipment-type:read', 'shipment:read'])]
|
||||
private ?string $code = null;
|
||||
|
||||
#[ORM\OneToMany(mappedBy: 'shipmentType', targetEntity: Shipment::class)]
|
||||
private Collection $shipments;
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
$this->shipments = new ArrayCollection();
|
||||
}
|
||||
|
||||
public function getId(): ?int
|
||||
{
|
||||
return $this->id;
|
||||
|
||||
Reference in New Issue
Block a user