refactor(machines) : update structure controller to use ConstructeurLinks

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Matthieu
2026-03-31 14:19:03 +02:00
parent 26be0b655d
commit d85272208a

View File

@@ -9,6 +9,7 @@ use App\Entity\CustomField;
use App\Entity\CustomFieldValue; use App\Entity\CustomFieldValue;
use App\Entity\Machine; use App\Entity\Machine;
use App\Entity\MachineComponentLink; use App\Entity\MachineComponentLink;
use App\Entity\MachineConstructeurLink;
use App\Entity\MachinePieceLink; use App\Entity\MachinePieceLink;
use App\Entity\MachineProductLink; use App\Entity\MachineProductLink;
use App\Entity\ModelType; use App\Entity\ModelType;
@@ -138,9 +139,13 @@ class MachineStructureController extends AbstractController
} }
$newMachine->setPrix($source->getPrix()); $newMachine->setPrix($source->getPrix());
// Copy constructeurs // Copy constructeur links
foreach ($source->getConstructeurs() as $constructeur) { foreach ($source->getConstructeurLinks() as $link) {
$newMachine->getConstructeurs()->add($constructeur); $newLink = new MachineConstructeurLink();
$newLink->setMachine($newMachine);
$newLink->setConstructeur($link->getConstructeur());
$newLink->setSupplierReference($link->getSupplierReference());
$this->entityManager->persist($newLink);
} }
$this->entityManager->persist($newMachine); $this->entityManager->persist($newMachine);
@@ -586,7 +591,7 @@ class MachineStructureController extends AbstractController
'id' => $site->getId(), 'id' => $site->getId(),
'name' => $site->getName(), 'name' => $site->getName(),
], ],
'constructeurs' => $this->normalizeConstructeurs($machine->getConstructeurs()), 'constructeurs' => $this->normalizeConstructeurLinks($machine->getConstructeurLinks()),
'customFields' => $this->normalizeCustomFields($machine->getCustomFields()), 'customFields' => $this->normalizeCustomFields($machine->getCustomFields()),
'documents' => null, 'documents' => null,
'customFieldValues' => $this->normalizeCustomFieldValues($machine->getCustomFieldValues()), 'customFieldValues' => $this->normalizeCustomFieldValues($machine->getCustomFieldValues()),
@@ -811,15 +816,19 @@ class MachineStructureController extends AbstractController
]; ];
} }
private function normalizeConstructeurs(Collection $constructeurs): array private function normalizeConstructeurLinks(Collection $constructeurLinks): array
{ {
$items = []; $items = [];
foreach ($constructeurs as $constructeur) { foreach ($constructeurLinks as $link) {
$items[] = [ $items[] = [
'id' => $constructeur->getId(), 'id' => $link->getId(),
'name' => $constructeur->getName(), 'constructeur' => [
'email' => $constructeur->getEmail(), 'id' => $link->getConstructeur()->getId(),
'phone' => $constructeur->getPhone(), 'name' => $link->getConstructeur()->getName(),
'email' => $link->getConstructeur()->getEmail(),
'phone' => $link->getConstructeur()->getPhone(),
],
'supplierReference' => $link->getSupplierReference(),
]; ];
} }