mirror of
https://github.com/Combodo/iTop.git
synced 2026-02-27 22:24:12 +01:00
Compare commits
1 Commits
feature/91
...
feature/90
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f516053899 |
@@ -375,14 +375,14 @@ class iTopExtensionsMap
|
||||
* @return array<\iTopExtension>>
|
||||
*/
|
||||
|
||||
public function GetAllExtensionsToDisplayInSetup(bool $bKeepMissingDependencyExtensions = false): array
|
||||
public function GetAllExtensionsToDisplayInSetup(bool $bKeepMissingDependencyExtensions = false, bool $bMandatoryRemoteExtension = true): array
|
||||
{
|
||||
$aRes = [];
|
||||
foreach ($this->GetAllExtensionsWithPreviouslyInstalled() as $oExtension) {
|
||||
/** @var \iTopExtension $oExtension */
|
||||
if (($oExtension->sSource !== iTopExtension::SOURCE_WIZARD) && ($oExtension->bVisible)) {
|
||||
if ($bKeepMissingDependencyExtensions || (count($oExtension->aMissingDependencies) == 0)) {
|
||||
if (!$oExtension->bMandatory) {
|
||||
if ($oExtension->sSource !== iTopExtension::SOURCE_WIZARD && $oExtension->bVisible) {
|
||||
if ($bKeepMissingDependencyExtensions || count($oExtension->aMissingDependencies) == 0) {
|
||||
if (!$oExtension->bMandatory && $bMandatoryRemoteExtension) {
|
||||
$oExtension->bMandatory = ($oExtension->sSource === iTopExtension::SOURCE_REMOTE);
|
||||
}
|
||||
$aRes[$oExtension->sCode] = $oExtension;
|
||||
@@ -393,10 +393,10 @@ class iTopExtensionsMap
|
||||
return $aRes;
|
||||
}
|
||||
|
||||
public function GetAllExtensionsOptionInfo(): array
|
||||
public function GetAllExtensionsOptionInfo(bool $bMandatoryRemoteExtension = true): array
|
||||
{
|
||||
$aRes = [];
|
||||
foreach ($this->GetAllExtensionsToDisplayInSetup() as $sCode => $oExtension) {
|
||||
foreach ($this->GetAllExtensionsToDisplayInSetup(false, $bMandatoryRemoteExtension) as $sCode => $oExtension) {
|
||||
$aRes[] = [
|
||||
'extension_code' => $oExtension->sCode,
|
||||
'title' => $oExtension->sLabel,
|
||||
|
||||
@@ -626,7 +626,7 @@ EOF
|
||||
protected function GetStepInfo($idx = null)
|
||||
{
|
||||
$index = $idx ?? $this->GetStepIndex();
|
||||
|
||||
$bMandatoryRemoteExtension = !$this->oWizard->GetParameter('force-uninstall', false);
|
||||
if (is_null($this->aSteps)) {
|
||||
$this->oWizard->SetParameter('additional_extensions_modules', json_encode([])); // Default value, no additional extensions
|
||||
|
||||
@@ -637,7 +637,7 @@ EOF
|
||||
|
||||
if ($index + 1 >= count($this->aSteps)) {
|
||||
//make sure we also cache next step as well
|
||||
$aOptions = $this->oExtensionsMap->GetAllExtensionsOptionInfo();
|
||||
$aOptions = $this->oExtensionsMap->GetAllExtensionsOptionInfo($bMandatoryRemoteExtension);
|
||||
|
||||
// Display this step of the wizard only if there is something to display
|
||||
if (count($aOptions) > 0) {
|
||||
@@ -651,7 +651,7 @@ EOF
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$aOptions = $this->oExtensionsMap->GetAllExtensionsOptionInfo();
|
||||
$aOptions = $this->oExtensionsMap->GetAllExtensionsOptionInfo($bMandatoryRemoteExtension);
|
||||
|
||||
// No wizard configuration provided, build a standard one with just one big list. All items are mandatory, only works when there are no conflicted modules.
|
||||
$this->aSteps = [
|
||||
|
||||
Reference in New Issue
Block a user