GcDevelopment\Controller\ScriptController::editAction PHP Method

editAction() public method

Edit script
public editAction ( ) : Zend\Script\Model\ScriptModel
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);
    }