Inheritance: extends AbstractFormContent
Example #1
0
 /**
  * Edit script
  *
  * @return \Zend\Script\Model\ScriptModel
  */
 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);
 }