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);
}