diff --git a/modules/monitoring/application/forms/Config/TransportConfigForm.php b/modules/monitoring/application/forms/Config/TransportConfigForm.php index ba1ec9042..c68e63dbf 100644 --- a/modules/monitoring/application/forms/Config/TransportConfigForm.php +++ b/modules/monitoring/application/forms/Config/TransportConfigForm.php @@ -355,7 +355,9 @@ class TransportConfigForm extends ConfigForm } if ($this->getSubForm('transport_form') instanceof ApiTransportForm) { - if (isset($formData['force_creation']) && $formData['force_creation']) { + if (! isset($formData['transport_validation']) + && isset($formData['force_creation']) && $formData['force_creation'] + ) { // ignore any validation result return true; } @@ -372,10 +374,10 @@ class TransportConfigForm extends ConfigForm 'checkbox', 'force_creation', array( - 'order' => 0, - 'ignore' => true, - 'label' => $this->translate('Force Changes'), - 'description' => $this->translate( + 'order' => 0, + 'ignore' => true, + 'label' => $this->translate('Force Changes'), + 'description' => $this->translate( 'Check this box to enforce changes without connectivity validation' ) ) diff --git a/modules/monitoring/library/Monitoring/MonitoringWizard.php b/modules/monitoring/library/Monitoring/MonitoringWizard.php index 59df9f819..a0dce1891 100644 --- a/modules/monitoring/library/Monitoring/MonitoringWizard.php +++ b/modules/monitoring/library/Monitoring/MonitoringWizard.php @@ -94,6 +94,7 @@ class MonitoringWizard extends Wizard implements SetupWizard * @param Form $page The page to add the buttons to * * @todo This is never called, because its a sub-wizard only + * @todo This is missing the ´transport_validation´ case * @see WebWizard::addButtons which does some of the needed work */ protected function addButtons(Form $page) diff --git a/modules/setup/library/Setup/WebWizard.php b/modules/setup/library/Setup/WebWizard.php index a74a1c9ed..e5d406946 100644 --- a/modules/setup/library/Setup/WebWizard.php +++ b/modules/setup/library/Setup/WebWizard.php @@ -36,6 +36,7 @@ use Icinga\Module\Setup\Requirement\PhpConfigRequirement; use Icinga\Module\Setup\Requirement\PhpModuleRequirement; use Icinga\Module\Setup\Requirement\PhpVersionRequirement; use Icinga\Module\Setup\Requirement\ConfigDirectoryRequirement; +use Icinga\Module\Monitoring\Forms\Config\Transport\ApiTransportForm; /** * Icinga Web 2 Setup Wizard @@ -383,17 +384,19 @@ class WebWizard extends Wizard implements SetupWizard // TODO(mf): This should be handled by MonitoringWizard if ($page->getName() === 'setup_command_transport') { - $page->addElement( - 'submit', - 'transport_validation', - array( - 'ignore' => true, - 'label' => t('Validate Configuration'), - 'data-progress-label' => t('Validation In Progress'), - 'decorators' => array('ViewHelper') - ) - ); - $page->getDisplayGroup('buttons')->addElement($page->getElement('transport_validation')); + if ($page->getSubForm('transport_form')->getSubForm('transport_form') instanceof ApiTransportForm) { + $page->addElement( + 'submit', + 'transport_validation', + array( + 'ignore' => true, + 'label' => t('Validate Configuration'), + 'data-progress-label' => t('Validation In Progress'), + 'decorators' => array('ViewHelper') + ) + ); + $page->getDisplayGroup('buttons')->addElement($page->getElement('transport_validation')); + } } }