From 82d5edb55b9e2ac08df34ea069a4f2692c53ee41 Mon Sep 17 00:00:00 2001 From: Manuel Aranda Date: Tue, 29 Jul 2025 12:22:34 +0200 Subject: [PATCH] refs #2540. Fixed bug when delete client --- CHANGELOG.md | 10 ++++++++++ src/Controller/OgDhcp/Subnet/DeleteHostAction.php | 2 +- src/State/Processor/ClientProcessor.php | 6 +++--- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 86fde15..29dc4b3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,14 @@ # Changelog +## [0.17.1] - 2025-07-29 +### Fixed +- Se ha corregido un bug que aparecia al borrar un cliente. Este error hacia que se borrara el cliente de la base de datos, pero no del DHCP ( en caso de que perteneciera a uno) y el fichero de arranque. + +--- +## [0.17.0] - 2025-07-20 +### Added +- Se ha aƱadido la funcionalidad para modificar imagenes de ogGit. + +--- ## [0.16.0] - 2025-06-27 ### Added - Se ha cambiado el html del menu para ser compatible con HTML5. diff --git a/src/Controller/OgDhcp/Subnet/DeleteHostAction.php b/src/Controller/OgDhcp/Subnet/DeleteHostAction.php index 0346ff7..0959f78 100644 --- a/src/Controller/OgDhcp/Subnet/DeleteHostAction.php +++ b/src/Controller/OgDhcp/Subnet/DeleteHostAction.php @@ -29,7 +29,7 @@ class DeleteHostAction extends AbstractOgDhcpController { $client = $this->entityManager->getRepository(Client::class)->findOneBy(['uuid' => $clientUuid]); - if (!$client || $client->getSubnet() !== $data) { + if (!$client) { throw new BadRequestHttpException('Client not found'); } diff --git a/src/State/Processor/ClientProcessor.php b/src/State/Processor/ClientProcessor.php index 528ce64..f7685a9 100644 --- a/src/State/Processor/ClientProcessor.php +++ b/src/State/Processor/ClientProcessor.php @@ -103,16 +103,16 @@ readonly class ClientProcessor implements ProcessorInterface private function processDelete($data, Operation $operation, array $uriVariables = [], array $context = []): null { $client = $this->clientRepository->findOneByUuid($uriVariables['uuid']); - $this->clientRepository->delete($client); if ($this->kernel->getEnvironment() !== 'test') { - if ($client->getSubnet()) { $this->deleteHostAction->__invoke($client->getSubnet(), $client->getUuid()); } - $this->deletePxeAction->__invoke($client->getUuid()); + $this->deletePxeAction->__invoke($client->getMac()); } + $this->clientRepository->delete($client); + return null; } }