mirror of
https://github.com/Combodo/iTop.git
synced 2026-05-19 15:22:17 +02:00
N°9514 - End user device cannot be uninstalled (WIP)
This commit is contained in:
@@ -92,7 +92,7 @@ class DataFeatureRemovalController extends Controller
|
|||||||
$oDryRemovalRuntimeEnvironment->CompileFrom($sSourceEnv);
|
$oDryRemovalRuntimeEnvironment->CompileFrom($sSourceEnv);
|
||||||
|
|
||||||
$oSetupAudit = new SetupAudit($sSourceEnv);
|
$oSetupAudit = new SetupAudit($sSourceEnv);
|
||||||
$aGetRemovedClasses = $oSetupAudit->GetIssues();
|
$aGetRemovedClasses = $oSetupAudit->RunDataAudit();
|
||||||
IssueLog::Debug(__METHOD__, null, ['aGetRemovedClasses' => $aGetRemovedClasses]);
|
IssueLog::Debug(__METHOD__, null, ['aGetRemovedClasses' => $aGetRemovedClasses]);
|
||||||
$this->aCountClassesToCleanup = $aGetRemovedClasses;
|
$this->aCountClassesToCleanup = $aGetRemovedClasses;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -51,7 +51,15 @@ abstract class AbstractSetupAudit
|
|||||||
return $this->aRemovedClasses;
|
return $this->aRemovedClasses;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function GetIssues(bool $bStopDataCheckAtFirstIssue = false): array
|
/**
|
||||||
|
* Generate issues when audit detects data to remove
|
||||||
|
*
|
||||||
|
* @param bool $bStopDataCheckAtFirstIssue
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
* @throws \CoreException
|
||||||
|
*/
|
||||||
|
public function RunDataAudit(bool $bStopDataCheckAtFirstIssue = false): array
|
||||||
{
|
{
|
||||||
$this->aFinalClassesToCleanup = [];
|
$this->aFinalClassesToCleanup = [];
|
||||||
|
|
||||||
@@ -64,7 +72,7 @@ abstract class AbstractSetupAudit
|
|||||||
$iCount = $this->Count($sClass);
|
$iCount = $this->Count($sClass);
|
||||||
$this->aFinalClassesToCleanup[$sClass] = $iCount;
|
$this->aFinalClassesToCleanup[$sClass] = $iCount;
|
||||||
if ($bStopDataCheckAtFirstIssue && $iCount > 0) {
|
if ($bStopDataCheckAtFirstIssue && $iCount > 0) {
|
||||||
//setup envt: should raise issue ASAP
|
//setup env: should raise issue ASAP
|
||||||
$this->LogInfoWithProperLogger("Setup audit found data to cleanup", null, $this->aFinalClassesToCleanup);
|
$this->LogInfoWithProperLogger("Setup audit found data to cleanup", null, $this->aFinalClassesToCleanup);
|
||||||
return $this->aFinalClassesToCleanup;
|
return $this->aFinalClassesToCleanup;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1329,9 +1329,9 @@ class RunTimeEnvironment
|
|||||||
$oSetupAudit = new SetupAudit(ITOP_DEFAULT_ENV, $this->sBuildEnv);
|
$oSetupAudit = new SetupAudit(ITOP_DEFAULT_ENV, $this->sBuildEnv);
|
||||||
|
|
||||||
//Make sure the MetaModel is started before analysing for issues
|
//Make sure the MetaModel is started before analysing for issues
|
||||||
$sConfFile = utils::GetConfigFilePath($this->sBuildEnv);
|
$sConfFile = utils::GetConfigFilePath(ITOP_DEFAULT_ENV);
|
||||||
MetaModel::Startup($sConfFile, false, false, false, $this->sBuildEnv);
|
MetaModel::Startup($sConfFile, false, false); // Start on production environment
|
||||||
$oSetupAudit->GetIssues(true);
|
$oSetupAudit->RunDataAudit(true);
|
||||||
$iCount = $oSetupAudit->GetDataToCleanupCount();
|
$iCount = $oSetupAudit->GetDataToCleanupCount();
|
||||||
|
|
||||||
if ($iCount > 0) {
|
if ($iCount > 0) {
|
||||||
|
|||||||
@@ -66,7 +66,7 @@ class SetupAuditTest extends ItopCustomDatamodelTestCase
|
|||||||
$expected = [
|
$expected = [
|
||||||
"FinalClassFeature2Module1MyFinalClassFromLocation" => 0,
|
"FinalClassFeature2Module1MyFinalClassFromLocation" => 0,
|
||||||
];
|
];
|
||||||
$this->assertEqualsCanonicalizing($expected, $oSetupAudit->GetIssues());
|
$this->assertEqualsCanonicalizing($expected, $oSetupAudit->RunDataAudit());
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testGetRemovedClassesFromSetupWizard()
|
public function testGetRemovedClassesFromSetupWizard()
|
||||||
@@ -103,7 +103,7 @@ class SetupAuditTest extends ItopCustomDatamodelTestCase
|
|||||||
"FinalClassFeature1Module1MyFinalClassFromLocation" => 1,
|
"FinalClassFeature1Module1MyFinalClassFromLocation" => 1,
|
||||||
"FinalClassFeature2Module1MyFinalClassFromLocation" => 0,
|
"FinalClassFeature2Module1MyFinalClassFromLocation" => 0,
|
||||||
];
|
];
|
||||||
$this->assertEqualsCanonicalizing($expected, $oSetupAudit->GetIssues());
|
$this->assertEqualsCanonicalizing($expected, $oSetupAudit->RunDataAudit());
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testAuditExtensionsCleanupRulesFailASAP()
|
public function testAuditExtensionsCleanupRulesFailASAP()
|
||||||
@@ -128,6 +128,6 @@ class SetupAuditTest extends ItopCustomDatamodelTestCase
|
|||||||
$expected = [
|
$expected = [
|
||||||
"FinalClassFeature1Module1MyFinalClassFromLocation" => 1,
|
"FinalClassFeature1Module1MyFinalClassFromLocation" => 1,
|
||||||
];
|
];
|
||||||
$this->assertEqualsCanonicalizing($expected, $oSetupAudit->GetIssues(true));
|
$this->assertEqualsCanonicalizing($expected, $oSetupAudit->RunDataAudit(true));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user