From dfd7f4cd0afe6d7145d9649d43b7c6e601a79e71 Mon Sep 17 00:00:00 2001 From: odain-cbd <56586767+odain-cbd@users.noreply.github.com> Date: Mon, 24 Aug 2026 19:35:06 +0200 Subject: [PATCH] =?UTF-8?q?N=C2=B09949=20-=20Cannot=20uninstall=20IPAM=20f?= =?UTF-8?q?rom=20setup=20wizard=20screen=20-=20extension=20management=20fi?= =?UTF-8?q?x=20(#1024)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * N°9949 - Cannot uninstall IPAM from setup wizard screen - fix extension mgt as well * N°9949 - remove dupicated line * N°9949 - fix log level * N°9949 - log enhancement in ext mgt * N°9949 - phpstan code cleanup --- .../src/Controller/DataFeatureRemovalController.php | 13 +++++++++++++ .../src/Entity/DeletionPlanEntity.php | 13 ++++--------- 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/datamodels/2.x/combodo-data-feature-removal/src/Controller/DataFeatureRemovalController.php b/datamodels/2.x/combodo-data-feature-removal/src/Controller/DataFeatureRemovalController.php index e6b3ce0a72..7be84562ab 100644 --- a/datamodels/2.x/combodo-data-feature-removal/src/Controller/DataFeatureRemovalController.php +++ b/datamodels/2.x/combodo-data-feature-removal/src/Controller/DataFeatureRemovalController.php @@ -179,6 +179,15 @@ class DataFeatureRemovalController extends Controller $this->ValidateTransactionId(); $oConfig = MetaModel::GetConfig(); + DataFeatureRemovalLog::Debug( + __METHOD__.": extension lists", + null, + ['removed_extensions' => $aRemovedExtensions, + 'selected_extensions' => $aSelectedExtensions, + 'added_extensions' => $aAddedExtensions, + ] + ); + if (count($aSelectedModules) === 0) { $aSelectedExtensions = DataFeatureRemoverExtensionService::GetInstance()->GetExtensionMap()->GetSelectedExtensions($oConfig, array_keys($aAddedExtensions), array_keys($aRemovedExtensions)); $oParameters->SetParameter('selected_extensions', $this->ConvertIntoSetupFormat($aSelectedExtensions)); @@ -193,6 +202,9 @@ class DataFeatureRemovalController extends Controller if ($bIsDirEmpty || $bForceCompilation) { $oRuntimeEnvironment->CopySetupFiles(); if (count($aSelectedModules) === 0) { + $oExtensionsMap = \iTopExtensionsMap::GetExtensionsMap($oRuntimeEnvironment->GetBuildEnv()); + // Removed modules are stored as static for FindModules() + $oExtensionsMap->DeclareExtensionAsRemoved($aRemovedExtensions); $aSelectedModules = $oRuntimeEnvironment->GetModulesToLoadFromChoices($oConfig, $aSelectedExtensions); } @@ -208,6 +220,7 @@ class DataFeatureRemovalController extends Controller $aSelectedModules = $oRuntimeEnvironment->GetModulesToLoadFromChoices($oConfig, $aSelectedExtensions); } } + DataFeatureRemovalLog::Debug(__METHOD__.": modules", null, ['selected_modules' => $aSelectedModules]); } catch (CoreException $e) { $aParams['error_message'] = $e->getHtmlDesc(); } catch (Exception $e) { diff --git a/datamodels/2.x/combodo-data-feature-removal/src/Entity/DeletionPlanEntity.php b/datamodels/2.x/combodo-data-feature-removal/src/Entity/DeletionPlanEntity.php index bd001e0400..f56027d387 100644 --- a/datamodels/2.x/combodo-data-feature-removal/src/Entity/DeletionPlanEntity.php +++ b/datamodels/2.x/combodo-data-feature-removal/src/Entity/DeletionPlanEntity.php @@ -12,17 +12,12 @@ class DeletionPlanEntity public readonly DeletionPlanItem $oDelete; public readonly DeletionPlanItem $oUpdate; public readonly DeletionPlanItem $oIssue; - - /** - * @param \Combodo\iTop\DataFeatureRemoval\Entity\DeletionPlanItem $oDelete - * @param \Combodo\iTop\DataFeatureRemoval\Entity\DeletionPlanItem $oUpdate - * @param \Combodo\iTop\DataFeatureRemoval\Entity\DeletionPlanItem $oIssue - */ + public function __construct() { - $this->oDelete = $oDelete ?? new DeletionPlanItem(); - $this->oUpdate = $oUpdate ?? new DeletionPlanItem(); - $this->oIssue = $oIssue ?? new DeletionPlanItem(); + $this->oDelete = new DeletionPlanItem(); + $this->oUpdate = new DeletionPlanItem(); + $this->oIssue = new DeletionPlanItem(); } public function TotalCount(): int