diff --git a/modules/setup/application/forms/ModulePage.php b/modules/setup/application/forms/ModulePage.php index d62b5a93ea..01f2cd9df0 100644 --- a/modules/setup/application/forms/ModulePage.php +++ b/modules/setup/application/forms/ModulePage.php @@ -5,6 +5,7 @@ use Icinga\Application\Icinga; use Icinga\Application\Modules\Module; +use Icinga\Module\Setup\ModuleDependency; use Icinga\Web\Form; class ModulePage extends Form @@ -100,6 +101,8 @@ public function getModuleWizards() foreach ($checked as $name => $module) { if ($module->providesSetupWizard()) { $wizards[$name] = $module->getSetupWizard(); + } elseif (! empty($module->getRequiredModules())) { + $wizards[$name] = new ModuleDependency($module, array_keys($checked)); } } diff --git a/modules/setup/library/Setup/WebWizard.php b/modules/setup/library/Setup/WebWizard.php index bb2cbb90b1..32e6f2acdb 100644 --- a/modules/setup/library/Setup/WebWizard.php +++ b/modules/setup/library/Setup/WebWizard.php @@ -119,7 +119,9 @@ protected function init() if (($modulePageData = $this->getPageData('setup_modules')) !== null) { $modulePage = $this->getPage('setup_modules')->populate($modulePageData); foreach ($modulePage->getModuleWizards() as $moduleWizard) { - $this->addPage($moduleWizard); + if (! $moduleWizard instanceof ModuleDependency) { + $this->addPage($moduleWizard); + } } } }