DataField: Impelement - Add Field

This commit is contained in:
Alexander Fuhr 2015-07-03 12:05:48 +02:00
parent 899f8bc984
commit 5f3c85d202
2 changed files with 32 additions and 2 deletions

View File

@ -14,6 +14,9 @@ class Director_DataController extends ActionController
))->activate('addfield'); ))->activate('addfield');
$form = new DirectorDatafieldForm(); $form = new DirectorDatafieldForm();
$form->setDb($this->db());
$form->handleRequest();
$this->view->title = $title; $this->view->title = $title;
$this->view->form = $form; $this->view->form = $form;

View File

@ -6,9 +6,13 @@ use Icinga\Module\Director\Web\Form\QuickForm;
class DirectorDatafieldForm extends QuickForm class DirectorDatafieldForm extends QuickForm
{ {
protected $db;
protected $successUrl = 'director/list/datafield';
public function setup() public function setup()
{ {
$this->addElement('text', 'varname', array( $this->addElement('text', 'varname', array(
'required' => true,
'label' => $this->translate('Field name'), 'label' => $this->translate('Field name'),
'description' => $this->translate('The unique name of the field') 'description' => $this->translate('The unique name of the field')
)); ));
@ -25,12 +29,35 @@ class DirectorDatafieldForm extends QuickForm
$this->addElement('text', 'datatype', array( $this->addElement('text', 'datatype', array(
'label' => $this->translate('Data type'), 'label' => $this->translate('Data type'),
'description' => $this->translate('Field format') 'description' => $this->translate('Field type')
)); ));
$this->addElement('text', 'format', array( $this->addElement('text', 'format', array(
'label' => $this->translate('Format'), 'label' => $this->translate('Format'),
'description' => $this->translate('Field format') 'description' => $this->translate('Field format (string, json, expression)')
)); ));
} }
public function onSuccess()
{
$values = $this->getValues();
$this->db->insert(
'director_datafield',
array(
'varname' => $values['varname'],
'caption' => $values['caption'],
'description' => $values['description'],
'datatype' => $values['datatype'],
'format' => $values['format'],
)
);
parent::onSuccess('Ding dong');
}
public function setDb($db)
{
$this->db = $db;
}
} }