Example #1
0
 /**
  * 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);
 }