GcDevelopment\Controller\ViewController::editAction PHP Method

editAction() public method

Edit view
public editAction ( ) : Zend\View\Model\ViewModel
return Zend\View\Model\ViewModel
    public function editAction()
    {
        $viewId = $this->getRouteMatch()->getParam('id', null);
        $viewModel = View\Model::fromId($viewId);
        if (empty($viewId) or empty($viewModel)) {
            return $this->redirect()->toRoute('development/view');
        }
        $viewForm = new ViewForm();
        $viewForm->setAttribute('action', $this->url()->fromRoute('development/view/edit', array('id' => $viewId)));
        $viewForm->loadValues($viewModel);
        if ($this->getRequest()->isPost()) {
            $data = $this->getRequest()->getPost()->toArray();
            $viewForm->setData($data);
            if (!$viewForm->isValid()) {
                $this->flashMessenger()->addErrorMessage('Can not save view');
                $this->useFlashMessenger();
            } else {
                $viewModel->setName($viewForm->getValue('name'));
                $viewModel->setIdentifier($viewForm->getValue('identifier'));
                $viewModel->setDescription($viewForm->getValue('description'));
                $viewModel->setContent($viewForm->getValue('content'));
                $viewModel->save();
                $this->flashMessenger()->addSuccessMessage('This view has been saved');
                return $this->redirect()->toRoute('development/view/edit', array('id' => $viewId));
            }
        }
        return array('form' => $viewForm, 'viewId' => $viewId);
    }