GcDevelopment\Controller\DatatypeController::createAction PHP Method

createAction() public method

Create Datatype
public createAction ( ) : Zend\View\Model\ViewModel | array
return Zend\View\Model\ViewModel | array
    public function createAction()
    {
        $datatype = new Datatype\Model();
        $datatypeForm = new DatatypeForm();
        $datatypeForm->setAttribute('action', $this->url()->fromRoute('development/datatype/create'));
        if ($this->getRequest()->isPost()) {
            $post = $this->getRequest()->getPost()->toArray();
            $datatypeForm->setData($post);
            if (!$datatypeForm->isValid()) {
                $this->flashMessenger()->addErrorMessage('Can not save datatype');
                $this->useFlashMessenger();
            } else {
                $datatype->addData($datatypeForm->getInputFilter()->getValues());
                try {
                    $id = $datatype->save();
                    $this->flashMessenger()->addSuccessMessage('This datatype has been saved');
                    return $this->redirect()->toRoute('development/datatype/edit', array('id' => $id));
                } catch (Exception $e) {
                    throw new \Gc\Exception($e->getMessage(), $e->getCode(), $e);
                }
            }
        }
        return array('form' => $datatypeForm);
    }