N°10021 Fix handling of removed extension that are also part of product

This commit is contained in:
Timmy38
2026-09-03 10:13:49 +02:00
committed by GitHub
parent 5597040a8a
commit aef80d60a8
4 changed files with 111 additions and 35 deletions

View File

@@ -2,6 +2,10 @@
class iTopExtensionsMapFake extends iTopExtensionsMap
{
public $aInstalledExtensionsInfo = false;
public array $aInstalledExtensions;
public $aExtensions;
public function __construct($sFromEnvironment = 'production', $aExtraDirs = [])
{
$this->aExtensions = [];
@@ -33,4 +37,24 @@ class iTopExtensionsMapFake extends iTopExtensionsMap
{
parent::AddExtension($oNewExtension);
}
protected function FetchExtensionInfoFromDatabase(Config $oConfig): array|false
{
return $this->aInstalledExtensionsInfo;
}
public function AddInstalledExtensionInfo(string $sCode, string $sVersion = '1.0.0', string $sSource = iTopExtension::SOURCE_MANUAL, string $sUninstallable = 'yes'): void
{
if ($this->aInstalledExtensionsInfo === false) {
$this->aInstalledExtensionsInfo = [];
}
$this->aInstalledExtensionsInfo[] = [
'code' => $sCode,
'label' => $sCode,
'version' => $sVersion,
'source' => $sSource,
'uninstallable' => $sUninstallable,
];
}
}