Skip to content

Commit

Permalink
Adjust ..\Monitoring\Form\Config\SecurityForm to use handleRequest()
Browse files Browse the repository at this point in the history
refs #5525
  • Loading branch information
Johannes Meyer committed Sep 3, 2014
1 parent 54a8342 commit 49562e7
Show file tree
Hide file tree
Showing 3 changed files with 73 additions and 62 deletions.
25 changes: 5 additions & 20 deletions modules/monitoring/application/controllers/ConfigController.php
Expand Up @@ -8,7 +8,7 @@
use Icinga\Form\ConfirmRemovalForm;
use Icinga\Module\Monitoring\Form\Config\BackendForm;
use Icinga\Module\Monitoring\Form\Config\InstanceForm;
use Icinga\Module\Monitoring\Form\Config\SecurityForm;
use Icinga\Module\Monitoring\Form\Config\SecurityConfigForm;
use Icinga\Exception\NotReadableError;

/**
Expand Down Expand Up @@ -254,26 +254,11 @@ protected function writeConfiguration($config, $file = null)
*/
public function securityAction()
{
$this->view->tabs = $this->Module()->getConfigTabs()->activate('security');

$form = new SecurityForm();
$request = $this->getRequest();
$config = $this->Config()->toArray();
if ($request->isPost()) {
if ($form->isValid($request->getPost())) {
$config['security'] = $form->getValues();
if ($this->writeConfiguration(new Zend_Config($config))) {
Notification::success('Configuration modified successfully');
$this->redirectNow('monitoring/config/security');
} else {
$this->render('show-configuration');
return;
}
}
} elseif (isset($config['security'])) {
$form->populate($config['security']);
}
$form = new SecurityConfigForm();
$form->setConfig($this->Config());
$form->handleRequest();

$this->view->form = $form;
$this->view->tabs = $this->Module()->getConfigTabs()->activate('security');
}
}
68 changes: 68 additions & 0 deletions modules/monitoring/application/forms/Config/SecurityConfigForm.php
@@ -0,0 +1,68 @@
<?php
// {{{ICINGA_LICENSE_HEADER}}}
// {{{ICINGA_LICENSE_HEADER}}}

namespace Icinga\Module\Monitoring\Form\Config;

use Icinga\Web\Request;
use Icinga\Web\Notification;
use Icinga\Form\ConfigForm;

/**
* Form for modifying security relevant settings
*/
class SecurityConfigForm extends ConfigForm
{
/**
* Initialize this form
*/
public function init()
{
$this->setName('form_config_monitoring_security');
$this->setSubmitLabel(t('Save Changes'));
}

/**
* @see Form::onSuccess()
*/
public function onSuccess(Request $request)
{
$this->config->security = $this->getValues();

if ($this->save()) {
Notification::success(t('New security configuration has successfully been stored'));
} else {
return false;
}
}

/**
* @see Form::onRequest()
*/
public function onRequest(Request $request)
{
if (isset($this->config->security)) {
$this->populate($this->config->security->toArray());
}
}

/**
* @see Form::createElements()
*/
public function createElements(array $formData)
{
$this->addElement(
'text',
'protected_customvars',
array(
'required' => true,
'label' => 'Protected Custom Variables',
'description' => 'Comma separated case insensitive list of protected custom variables.'
. ' Use * as a placeholder for zero or more wildcard characters.'
. ' Existance of those custom variables will be shown, but their values will be masked.'
)
);

return $this;
}
}
42 changes: 0 additions & 42 deletions modules/monitoring/application/forms/Config/SecurityForm.php

This file was deleted.

0 comments on commit 49562e7

Please sign in to comment.