From dbeb4cc50ae8695bdd8d0ddcd5912dae4ef32bfd Mon Sep 17 00:00:00 2001 From: Marcel Diegelmann Date: Fri, 18 Jul 2025 10:36:12 +0200 Subject: [PATCH] =?UTF-8?q?St=C3=BCcklisten=20beim=20L=C3=B6schen:=20Marki?= =?UTF-8?q?eren=20von=20referenzierten=20Baugruppen=20als=20Hinweis=20vorn?= =?UTF-8?q?ehmen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AdminPages/BaseAdminController.php | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/Controller/AdminPages/BaseAdminController.php b/src/Controller/AdminPages/BaseAdminController.php index 039751ea..bae817de 100644 --- a/src/Controller/AdminPages/BaseAdminController.php +++ b/src/Controller/AdminPages/BaseAdminController.php @@ -24,6 +24,7 @@ namespace App\Controller\AdminPages; use App\DataTables\LogDataTable; use App\Entity\AssemblySystem\Assembly; +use App\Entity\AssemblySystem\AssemblyBOMEntry; use App\Entity\Attachments\Attachment; use App\Entity\Attachments\AttachmentContainingDBElement; use App\Entity\Attachments\AttachmentUpload; @@ -469,6 +470,10 @@ abstract class BaseAdminController extends AbstractController return $this->redirectToRoute($this->route_base.'_edit', ['id' => $entity->getID()]); } } else { + if ($entity instanceof Assembly) { + $this->markReferencedBomEntry($entity); + } + if ($entity instanceof AbstractStructuralDBElement) { $parent = $entity->getParent(); @@ -516,4 +521,16 @@ abstract class BaseAdminController extends AbstractController return $exporter->exportEntityFromRequest($entity, $request); } + + private function markReferencedBomEntry(Assembly $referencedAssembly): void + { + $bomEntries = $this->entityManager->getRepository(AssemblyBOMEntry::class)->findBy(['referencedAssembly' => $referencedAssembly]); + + foreach ($bomEntries as $entry) { + $entry->setReferencedAssembly(null); + $entry->setName($referencedAssembly->getName(). ' DELETED'); + + $this->entityManager->persist($entry); + } + } }