-
Notifications
You must be signed in to change notification settings - Fork 288
N°9455 - Feature removal - console screen behavior #924
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -21,7 +21,7 @@ public function __construct(WizardController $oWizard, $sCurrentState) | |
| $oWizard->SetParameter('datamodel_version', ITOP_CORE_VERSION); | ||
| $oWizard->SetParameter('upgrade_type', 'use-compatible'); | ||
|
|
||
| $oWizard->SaveParameter('use_symbolic_links', MFCompiler::UseSymbolicLinks()); | ||
| $oWizard->SaveParameter('use_symbolic_links', MFCompiler::UseSymbolicLinks() ? 'on' : 'off'); | ||
| $oWizard->SaveParameter('force-uninstall', ''); | ||
|
|
||
| // should be done at the end | ||
|
|
@@ -40,8 +40,8 @@ public function Display(SetupPage $oPage): void | |
| */ | ||
| public function UpdateWizardStateAndGetNextStep($bMoveForward = true): WizardState | ||
| { | ||
| $oProductionEnv = new RunTimeEnvironment(); | ||
| $sBuildConfigFile = APPCONF.$oProductionEnv->GetBuildEnv().'/'.ITOP_CONFIG_FILE; | ||
| $oRuntimeEnv = new RunTimeEnvironment(); | ||
| $sBuildConfigFile = APPCONF.$oRuntimeEnv->GetBuildEnv().'/'.ITOP_CONFIG_FILE; | ||
| @chmod($sBuildConfigFile, 0770); // In case it exists: RWX for owner and group, nothing for others | ||
|
|
||
| $oConfig = new Config($sBuildConfigFile); | ||
|
|
@@ -56,6 +56,14 @@ public function UpdateWizardStateAndGetNextStep($bMoveForward = true): WizardSta | |
| $this->oWizard->SetParameter('display_choices', '[]'); | ||
| $this->oWizard->SetParameter('extensions_not_uninstallable', '[]'); | ||
|
|
||
| if ($this->oWizard->GetParameter('skip_wizard', false)) { | ||
| $oExtensionMap = new iTopExtensionsMap($oRuntimeEnv->GetBuildEnv()); | ||
| $aExtensionsFromDatabase = $oExtensionMap->GetChoicesFromDatabase($oConfig); | ||
| $this->oWizard->SetParameter('selected_extensions', json_encode($aExtensionsFromDatabase)); | ||
| $adModulesFromDatabase = ModuleInstallationRepository::GetInstance()->ReadComputeInstalledModules($oConfig); | ||
| $this->oWizard->SetParameter('selected_modules', json_encode(array_keys($adModulesFromDatabase))); | ||
|
Comment on lines
+59
to
+64
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. When the fast-track path is used, this branch only restores |
||
| } | ||
|
|
||
| $aWizardSteps = $this->GetWizardSteps(); | ||
| $this->oWizard->SetWizardSteps($aWizardSteps); | ||
| $this->sCurrentState = count($aWizardSteps) - 1; | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -18,14 +18,23 @@ | |
| * You should have received a copy of the GNU Affero General Public License | ||
| */ | ||
|
|
||
| use Combodo\iTop\Application\WebPage\WebPage; | ||
|
|
||
| /** | ||
| * First step of the iTop Installation Wizard: Welcome screen, requirements | ||
| */ | ||
| class WizStepWelcome extends WizardStep | ||
| { | ||
| protected $bCanMoveForward; | ||
| private array $aInfo; | ||
| private array $aWarnings; | ||
| private array $aErrors; | ||
| private string $sUID; | ||
|
|
||
| public function __construct(WizardController $oWizard, $sCurrentState) | ||
| { | ||
| parent::__construct($oWizard, $sCurrentState); | ||
| $this->CheckInstallation(); | ||
| $this->sUID = SetupUtils::CreateSetupToken(); | ||
| } | ||
|
|
||
| public function GetTitle() | ||
| { | ||
|
|
@@ -48,8 +57,7 @@ public function GetPossibleSteps() | |
|
|
||
| public function UpdateWizardStateAndGetNextStep($bMoveForward = true): WizardState | ||
| { | ||
| $sUID = SetupUtils::CreateSetupToken(); | ||
| $this->oWizard->SetParameter('authent', $sUID); | ||
| $this->oWizard->SetParameter('authent', $this->sUID); | ||
| return new WizardState(WizStepInstallOrUpgrade::class); | ||
| } | ||
|
|
||
|
|
@@ -70,39 +78,14 @@ public function Display(SetupPage $oPage): void | |
| EOF | ||
| ); | ||
| $oPage->add('<h1>'.ITOP_APPLICATION.' Installation Wizard</h1>'); | ||
| $aResults = SetupUtils::CheckPhpAndExtensions(); | ||
| $this->bCanMoveForward = true; | ||
| $aInfo = []; | ||
| $aWarnings = []; | ||
| $aErrors = []; | ||
| foreach ($aResults as $oCheckResult) { | ||
| switch ($oCheckResult->iSeverity) { | ||
| case CheckResult::ERROR: | ||
| $aErrors[] = $oCheckResult->sLabel; | ||
| $this->bCanMoveForward = false; | ||
| break; | ||
|
|
||
| case CheckResult::WARNING: | ||
| $aWarnings[] = $oCheckResult->sLabel; | ||
| break; | ||
|
|
||
| case CheckResult::INFO: | ||
| $aInfo[] = $oCheckResult->sLabel; | ||
| break; | ||
|
|
||
| case CheckResult::TRACE: | ||
| SetupLog::Ok($oCheckResult->sLabel); | ||
| break; | ||
| } | ||
| } | ||
| $sStyle = 'style="display:none;overflow:auto;"'; | ||
| $sToggleButtons = '<button type="button" id="show_details" class="ibo-button ibo-is-alternative ibo-is-neutral" onclick="$(\'#details\').toggle(); $(this).toggle(); $(\'#hide_details\').toggle();"><span class="ibo-button--icon fa fa-caret-down"></span><span class="ibo-button--label">Show details</span></button><button type="button" id="hide_details" class="ibo-button ibo-is-alternative ibo-is-neutral" style="display:none;" onclick="$(\'#details\').toggle(); $(this).toggle(); $(\'#show_details\').toggle();"><span class="ibo-button--icon fa fa-caret-up"></span><span class="ibo-button--label">Hide details</span></button>'; | ||
| if (count($aErrors) > 0) { | ||
| if (count($this->aErrors) > 0) { | ||
| $sStyle = 'overflow:auto;"'; | ||
| $sTitle = count($aErrors).' Error(s), '.count($aWarnings).' Warning(s).'; | ||
| $sTitle = count($this->aErrors).' Error(s), '.count($this->aWarnings).' Warning(s).'; | ||
| $sH2Class = 'text-error'; | ||
| } elseif (count($aWarnings) > 0) { | ||
| $sTitle = count($aWarnings).' Warning(s) '.$sToggleButtons; | ||
| } elseif (count($this->aWarnings) > 0) { | ||
| $sTitle = count($this->aWarnings).' Warning(s) '.$sToggleButtons; | ||
| $sH2Class = 'text-warning'; | ||
| } else { | ||
| $sTitle = 'Ok. '.$sToggleButtons; | ||
|
|
@@ -114,13 +97,13 @@ public function Display(SetupPage $oPage): void | |
| <div id="details" $sStyle> | ||
| HTML | ||
| ); | ||
| foreach ($aErrors as $sText) { | ||
| foreach ($this->aErrors as $sText) { | ||
| $oPage->error($sText); | ||
| } | ||
| foreach ($aWarnings as $sText) { | ||
| foreach ($this->aWarnings as $sText) { | ||
| $oPage->warning($sText); | ||
| } | ||
| foreach ($aInfo as $sText) { | ||
| foreach ($this->aInfo as $sText) { | ||
| $oPage->ok($sText); | ||
| } | ||
| $oPage->add('</div>'); | ||
|
|
@@ -131,8 +114,70 @@ public function Display(SetupPage $oPage): void | |
| $oPage->add_ready_script('CheckDirectoryConfFilesPermissions("'.utils::GetItopVersionWikiSyntax().'")'); | ||
| } | ||
|
|
||
| /** | ||
| * Add post display stuff to the setup screen | ||
| * @param \SetupPage $oPage | ||
| * | ||
| * @return void | ||
| */ | ||
| public function PostFormDisplay(SetupPage $oPage) | ||
| { | ||
| if ($this->bCanMoveForward) { | ||
| $sBuildConfigFile = APPCONF.ITOP_DEFAULT_ENV.'/'.ITOP_CONFIG_FILE; | ||
| if (file_exists($sBuildConfigFile)) { | ||
| $oPage->add( | ||
| <<<HTML | ||
| <form method="post"> | ||
| <input type="hidden" name="_class" value="WizStepLandingBeforeAudit"/> | ||
| <input type="hidden" name="operation" value="next"/> | ||
| <input type="hidden" name="_params[skip_wizard]" value="1"/> | ||
| <input type="hidden" name="authent" value="{$this->sUID}"/> | ||
| <input type="hidden" name="_params[authent]" value="{$this->sUID}"/> | ||
| <table style="width:100%;" class="ibo-setup--wizard--buttons-container"> | ||
| <tr> | ||
| <td style="text-align: right"><button type="submit" class="ibo-button ibo-is-regular ibo-is-secondary">Keep current choices</button></td> | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. maybe a tooltip to detail what will happen if user clicks on this button?
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. this button is so powerfull that I would change his color to highlight it! |
||
| </tr> | ||
| </table> | ||
| </form> | ||
| HTML | ||
| ); | ||
| } | ||
| } | ||
| } | ||
|
|
||
| public function CanMoveForward() | ||
| { | ||
| return $this->bCanMoveForward; | ||
| } | ||
|
|
||
| /** | ||
| */ | ||
| public function CheckInstallation(): void | ||
| { | ||
| $aResults = SetupUtils::CheckPhpAndExtensions(); | ||
| $this->bCanMoveForward = true; | ||
| $this->aInfo = []; | ||
| $this->aWarnings = []; | ||
| $this->aErrors = []; | ||
| foreach ($aResults as $oCheckResult) { | ||
| switch ($oCheckResult->iSeverity) { | ||
| case CheckResult::ERROR: | ||
| $this->aErrors[] = $oCheckResult->sLabel; | ||
| $this->bCanMoveForward = false; | ||
| break; | ||
|
|
||
| case CheckResult::WARNING: | ||
| $this->aWarnings[] = $oCheckResult->sLabel; | ||
| break; | ||
|
|
||
| case CheckResult::INFO: | ||
| $this->aInfo[] = $oCheckResult->sLabel; | ||
| break; | ||
|
|
||
| case CheckResult::TRACE: | ||
| SetupLog::Ok($oCheckResult->sLabel); | ||
| break; | ||
| } | ||
| } | ||
| } | ||
| } | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
seems like a bug fix not related to current enhancement, right?