feat(devis): Améliore la sélection des produits et options avec modales de recherche

Supprime la relation Product->DevisLine, ajoute des composants de recherche modale pour produits/options dans les devis.
```
This commit is contained in:
Serreau Jovann
2026-01-27 19:35:54 +01:00
parent b2fd5fde96
commit 52e92b4230
9 changed files with 548 additions and 66 deletions

View File

@@ -54,12 +54,6 @@ class Product
#[ORM\Column(length: 255, nullable: true)]
private ?string $productId = null;
/**
* @var Collection<int, DevisLine>
*/
#[ORM\OneToMany(targetEntity: DevisLine::class, mappedBy: 'product')]
private Collection $devisLines;
/**
* @var Collection<int, ProductReserve>
*/
@@ -89,7 +83,6 @@ class Product
public function __construct()
{
$this->devisLines = new ArrayCollection();
$this->productReserves = new ArrayCollection();
$this->productDocs = new ArrayCollection();
}
@@ -234,35 +227,6 @@ class Product
return $this;
}
/**
* @return Collection<int, DevisLine>
*/
public function getDevisLines(): Collection
{
return $this->devisLines;
}
public function addDevisLine(DevisLine $devisLine): static
{
if (!$this->devisLines->contains($devisLine)) {
$this->devisLines->add($devisLine);
$devisLine->setProduct($this);
}
return $this;
}
public function removeDevisLine(DevisLine $devisLine): static
{
if ($this->devisLines->removeElement($devisLine)) {
// set the owning side to null (unless already changed)
if ($devisLine->getProduct() === $this) {
$devisLine->setProduct(null);
}
}
return $this;
}
/**
* @return Collection<int, ProductReserve>