mirror of
https://github.com/Icinga/icingaweb2.git
synced 2025-04-08 17:15:08 +02:00
It should not be a form's responsibility how its submit button should look..
...in case it's a standard button. No need to be DRY here. refs #5525
This commit is contained in:
parent
403f745488
commit
7b221e2aba
@ -84,7 +84,7 @@ class DashboardController extends ActionController
|
||||
$form = new AddUrlForm();
|
||||
$request = $this->getRequest();
|
||||
if ($request->isPost()) {
|
||||
if ($form->isValid($request->getPost()) && $form->getElement('btn_submit')->isChecked()) {
|
||||
if ($form->isValid($request->getPost()) && $form->isSubmitted()) {
|
||||
$dashboard = $this->getDashboard();
|
||||
$dashboard->setComponentUrl(
|
||||
$form->getValue('pane'),
|
||||
|
@ -18,6 +18,7 @@ class LoginForm extends Form
|
||||
public function init()
|
||||
{
|
||||
$this->setName('form_login');
|
||||
$this->setSubmitLabel(t('Login'));
|
||||
}
|
||||
|
||||
/**
|
||||
@ -55,19 +56,4 @@ class LoginForm extends Form
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see Form::addSubmitButton()
|
||||
*/
|
||||
public function addSubmitButton()
|
||||
{
|
||||
$this->addElement(
|
||||
'submit',
|
||||
'btn_submit',
|
||||
array(
|
||||
'ignore' => true,
|
||||
'label' => t('Login')
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -17,6 +17,7 @@ class AutologinBackendForm extends BaseBackendForm
|
||||
public function init()
|
||||
{
|
||||
$this->setName('form_config_authentication_autologin');
|
||||
$this->setSubmitLabel(t('Save Changes'));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -11,23 +11,6 @@ use Icinga\Web\Form;
|
||||
*/
|
||||
abstract class BaseBackendForm extends Form
|
||||
{
|
||||
/**
|
||||
* @see Form::addSubmitButton()
|
||||
*/
|
||||
public function addSubmitButton()
|
||||
{
|
||||
$this->addElement(
|
||||
'submit',
|
||||
'btn_submit',
|
||||
array(
|
||||
'ignore' => true,
|
||||
'label' => t('Save Changes')
|
||||
)
|
||||
);
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return whether the given values are complete/valid and check whether it is possible to connect to the backend
|
||||
*
|
||||
|
@ -31,6 +31,7 @@ class DbBackendForm extends BaseBackendForm
|
||||
public function init()
|
||||
{
|
||||
$this->setName('form_config_authentication_db');
|
||||
$this->setSubmitLabel(t('Save Changes'));
|
||||
|
||||
$dbResources = array_keys(
|
||||
ResourceFactory::getResourceConfigs('db')->toArray()
|
||||
|
@ -31,6 +31,7 @@ class LdapBackendForm extends BaseBackendForm
|
||||
public function init()
|
||||
{
|
||||
$this->setName('form_config_authentication_ldap');
|
||||
$this->setSubmitLabel(t('Save Changes'));
|
||||
|
||||
$ldapResources = array_keys(
|
||||
ResourceFactory::getResourceConfigs('ldap')->toArray()
|
||||
|
@ -17,20 +17,6 @@ class ConfirmRemovalForm extends Form
|
||||
public function init()
|
||||
{
|
||||
$this->setName('form_confirm_removal');
|
||||
}
|
||||
|
||||
/**
|
||||
* @see Form::addSubmitButton()
|
||||
*/
|
||||
public function addSubmitButton()
|
||||
{
|
||||
$this->addElement(
|
||||
'submit',
|
||||
'btn_submit',
|
||||
array(
|
||||
'ignore' => true,
|
||||
'label' => t('Confirm Removal')
|
||||
)
|
||||
);
|
||||
$this->setSubmitLabel(t('Confirm Removal'));
|
||||
}
|
||||
}
|
||||
|
@ -23,6 +23,7 @@ class GeneralForm extends Form
|
||||
public function init()
|
||||
{
|
||||
$this->setName('form_config_general');
|
||||
$this->setSubmitLabel(t('Save Changes'));
|
||||
}
|
||||
|
||||
/**
|
||||
@ -43,23 +44,6 @@ class GeneralForm extends Form
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see Form::addSubmitButton()
|
||||
*/
|
||||
public function addSubmitButton()
|
||||
{
|
||||
$this->addElement(
|
||||
'submit',
|
||||
'btn_submit',
|
||||
array(
|
||||
'ignore' => true,
|
||||
'label' => t('Save Changes')
|
||||
)
|
||||
);
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Populate this form with the given configuration
|
||||
*
|
||||
|
@ -21,6 +21,7 @@ class ResourceForm extends Form
|
||||
public function init()
|
||||
{
|
||||
$this->setName('form_config_resource');
|
||||
$this->setSubmitLabel(t('Save Changes'));
|
||||
}
|
||||
|
||||
/**
|
||||
@ -74,23 +75,6 @@ class ResourceForm extends Form
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @see Form::addSubmitButton()
|
||||
*/
|
||||
public function addSubmitButton()
|
||||
{
|
||||
$this->addElement(
|
||||
'submit',
|
||||
'btn_submit',
|
||||
array(
|
||||
'ignore' => true,
|
||||
'label' => t('Save Changes')
|
||||
)
|
||||
);
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return whether the given values are complete/valid and check whether it is possible to connect to the resource
|
||||
*
|
||||
|
@ -19,6 +19,7 @@ class AddUrlForm extends Form
|
||||
public function init()
|
||||
{
|
||||
$this->setName('form_dashboard_addurl');
|
||||
$this->setSubmitLabel(t('Add To Dashboard'));
|
||||
}
|
||||
|
||||
/**
|
||||
@ -104,23 +105,6 @@ class AddUrlForm extends Form
|
||||
return $elements;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see Form::addSubmitButton()
|
||||
*/
|
||||
public function addSubmitButton()
|
||||
{
|
||||
$this->addElement(
|
||||
'submit',
|
||||
'btn_submit',
|
||||
array(
|
||||
'ignore' => true,
|
||||
'label' => t('Add To Dashboard')
|
||||
)
|
||||
);
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the names and titles of the available dashboard panes as key-value array
|
||||
*
|
||||
|
@ -20,6 +20,7 @@ class GeneralForm extends Form
|
||||
public function init()
|
||||
{
|
||||
$this->setName('form_config_preferences');
|
||||
$this->setSubmitLabel(t('Save Changes'));
|
||||
}
|
||||
|
||||
/**
|
||||
@ -123,23 +124,6 @@ class GeneralForm extends Form
|
||||
return $elements;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see Form::addSubmitButton()
|
||||
*/
|
||||
public function addSubmitButton()
|
||||
{
|
||||
$this->addElement(
|
||||
'submit',
|
||||
'btn_submit',
|
||||
array(
|
||||
'ignore' => true,
|
||||
'label' => t('Save Changes')
|
||||
)
|
||||
);
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Populate the form with the given preferences
|
||||
*
|
||||
|
@ -23,6 +23,13 @@ class Form extends Zend_Form
|
||||
*/
|
||||
protected $created = false;
|
||||
|
||||
/**
|
||||
* Label to use for the standard submit button
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $submitLabel;
|
||||
|
||||
/**
|
||||
* The view script to use when rendering this form
|
||||
*
|
||||
@ -46,6 +53,29 @@ class Form extends Zend_Form
|
||||
*/
|
||||
protected $tokenElementName = 'CSRFToken';
|
||||
|
||||
/**
|
||||
* Set the label to use for the standard submit button
|
||||
*
|
||||
* @param string $label The label to use for the submit button
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public function setSubmitLabel($label)
|
||||
{
|
||||
$this->submitLabel = $label;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the label being used for the standard submit button
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getSubmitLabel()
|
||||
{
|
||||
return $this->submitLabel;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the view script to use when rendering this form
|
||||
*
|
||||
@ -162,12 +192,24 @@ class Form extends Zend_Form
|
||||
/**
|
||||
* Add a submit button to this form
|
||||
*
|
||||
* Intended to be implemented by concrete form classes.
|
||||
* Uses the label previously set with Form::setSubmitLabel(). Overwrite this
|
||||
* method in order to add multiple submit buttons or one with a custom name.
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public function addSubmitButton()
|
||||
{
|
||||
if ($this->submitLabel !== null) {
|
||||
$this->addElement(
|
||||
'submit',
|
||||
'btn_submit',
|
||||
array(
|
||||
'ignore' => true,
|
||||
'label' => $this->submitLabel
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
@ -261,6 +303,22 @@ class Form extends Zend_Form
|
||||
return empty($missingValues);
|
||||
}
|
||||
|
||||
/**
|
||||
* Return whether the submit button of this form was pressed
|
||||
*
|
||||
* When overwriting Form::addSubmitButton() be sure to overwrite this method as well.
|
||||
*
|
||||
* @return bool True in case it was pressed, False otherwise or no submit label was set
|
||||
*/
|
||||
public function isSubmitted()
|
||||
{
|
||||
if ($this->submitLabel !== null) {
|
||||
return $this->getElement('btn_submit')->isChecked();
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return whether the given values (possibly incomplete) are valid
|
||||
*
|
||||
|
@ -18,6 +18,7 @@ class BackendForm extends Form
|
||||
public function init()
|
||||
{
|
||||
$this->setName('form_config_monitoring_backends');
|
||||
$this->setSubmitLabel(t('Save Changes'));
|
||||
}
|
||||
|
||||
/**
|
||||
@ -73,23 +74,6 @@ class BackendForm extends Form
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see Form::addSubmitButton()
|
||||
*/
|
||||
public function addSubmitButton()
|
||||
{
|
||||
$this->addElement(
|
||||
'submit',
|
||||
'btn_submit',
|
||||
array(
|
||||
'ignore' => true,
|
||||
'label' => t('Save Changes')
|
||||
)
|
||||
);
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the backend configuration values and its name
|
||||
*
|
||||
|
@ -20,6 +20,7 @@ class InstanceForm extends Form
|
||||
public function init()
|
||||
{
|
||||
$this->setName('form_config_monitoring_instances');
|
||||
$this->setSubmitLabel(t('Save Changes'));
|
||||
}
|
||||
|
||||
/**
|
||||
@ -120,23 +121,6 @@ class InstanceForm extends Form
|
||||
return $elements;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see Form::addSubmitButton()
|
||||
*/
|
||||
public function addSubmitButton()
|
||||
{
|
||||
$this->addElement(
|
||||
'submit',
|
||||
'btn_submit',
|
||||
array(
|
||||
'ignore' => true,
|
||||
'label' => t('Save Changes')
|
||||
)
|
||||
);
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the instance configuration values and its name
|
||||
*
|
||||
|
@ -17,6 +17,7 @@ class SecurityForm extends Form
|
||||
public function init()
|
||||
{
|
||||
$this->setName('form_config_monitoring_security');
|
||||
$this->setSubmitLabel(t('Save Changes'));
|
||||
}
|
||||
|
||||
/**
|
||||
@ -38,21 +39,4 @@ class SecurityForm extends Form
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see Form::addSubmitButton()
|
||||
*/
|
||||
public function addSubmitButton()
|
||||
{
|
||||
$this->addElement(
|
||||
'submit',
|
||||
'btn_submit',
|
||||
array(
|
||||
'ignore' => true,
|
||||
'label' => t('Save Changes')
|
||||
)
|
||||
);
|
||||
|
||||
return $this;
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user