N°9567 - fix back to setup from extension management - extension screen missing when back after audit

N°9567 - fix again
This commit is contained in:
odain
2026-05-20 14:56:55 +02:00
parent 77a820105f
commit a4345d0311
2 changed files with 23 additions and 2 deletions

View File

@@ -175,7 +175,9 @@ class WizStepModulesChoice extends AbstractWizStepInstall
["class" => "WizStepUpgradeMiscParams","state" => ""],
];
$i = 0;
$this->aSteps = null;
while (null != $this->GetStepInfo($i)) {
$this->aSteps = null;
$aSteps [] = ["class" => "WizStepModulesChoice","state" => "$i"];
$i++;
}
@@ -709,7 +711,6 @@ EOF
// Found an "installation.xml" file, let's use this definition for the wizard
$aParams = new XMLParameters($this->GetSourceFilePath());
$this->aSteps = $aParams->Get('steps', []);
if ($index + 1 >= count($this->aSteps)) {
//make sure we also cache next step as well
$aOptions = $this->oExtensionsMap->GetAllExtensionsOptionInfo($bRemoteExtensionsShouldBeMandatory);

View File

@@ -6,7 +6,6 @@ use Combodo\iTop\Test\UnitTest\ItopTestCase;
use iTopExtensionsMap;
use iTopExtensionsMapFake;
use ModuleDiscovery;
use WepPageFake;
use WizardController;
use WizStepModulesChoiceFake;
use XMLParameters;
@@ -1431,4 +1430,25 @@ HTML,
}
$this->assertEquals($expected, $this->oWizStepModulesChoiceFake->GetWizardSteps());
}
public function testGetWizardStepsWithoutAnyExtension()
{
$this->oWizard->SetParameter('source_dir', __DIR__.'/ressources');
$oExtensionMap = $this->createMock(iTopExtensionsMap::class);
$oExtensionMap->expects(self::any())->method('GetAllExtensionsOptionInfo')->willReturn([]);
$this->oWizStepModulesChoiceFake->setExtensionMap($oExtensionMap);
$expected = [
["class" => "WizStepWelcome","state" => ""],
["class" => "WizStepInstallOrUpgrade","state" => ""],
["class" => "WizStepDetectedInfo","state" => ""],
["class" => "WizStepUpgradeMiscParams","state" => ""],
];
for ($i = 0;$i <= 4; $i++) {
$expected [] = ["class" => "WizStepModulesChoice","state" => "".$i];
}
$this->assertEquals($expected, $this->oWizStepModulesChoiceFake->GetWizardSteps());
}
}