/** * Edit view * * @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); }