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