Run module wizards as part of the main application's wizard

A user now chooses right after the start which modules to install and
configures them as part of the main routine.

refs #8191
This commit is contained in:
Johannes Meyer 2015-01-21 14:00:57 +01:00
parent 08e600a376
commit 817e4e937c
1 changed files with 20 additions and 0 deletions

View File

@ -83,6 +83,7 @@ class WebWizard extends Wizard implements SetupWizard
protected function init() protected function init()
{ {
$this->addPage(new WelcomePage()); $this->addPage(new WelcomePage());
$this->addPage(new ModulePage());
$this->addPage(new RequirementsPage()); $this->addPage(new RequirementsPage());
$this->addPage(new AuthenticationPage()); $this->addPage(new AuthenticationPage());
$this->addPage(new PreferencesPage()); $this->addPage(new PreferencesPage());
@ -95,6 +96,13 @@ class WebWizard extends Wizard implements SetupWizard
$this->addPage(new GeneralConfigPage()); $this->addPage(new GeneralConfigPage());
$this->addPage(new DatabaseCreationPage()); $this->addPage(new DatabaseCreationPage());
$this->addPage(new SummaryPage(array('name' => 'setup_summary'))); $this->addPage(new SummaryPage(array('name' => 'setup_summary')));
if (($modulePageData = $this->getPageData('setup_modules')) !== null) {
$modulePage = $this->getPage('setup_modules')->populate($modulePageData);
foreach ($modulePage->getModuleWizards() as $moduleWizard) {
$this->addPage($moduleWizard);
}
}
} }
/** /**
@ -337,6 +345,12 @@ class WebWizard extends Wizard implements SetupWizard
) )
); );
foreach ($this->getWizards() as $wizard) {
if ($wizard->isComplete()) {
$setup->addSteps($wizard->getSetup()->getSteps());
}
}
return $setup; return $setup;
} }
@ -521,6 +535,12 @@ class WebWizard extends Wizard implements SetupWizard
) )
); );
foreach ($this->getWizards() as $wizard) {
// TODO(8191): Ensure that equal requirements are not shown individually but only
// once with their description properly being merged together!
$requirements->merge($wizard->getRequirements());
}
return $requirements; return $requirements;
} }
} }