public function actionSave($type, $id = null, $isBeingCopied = false) { $postData = PostUtil::getData(); $savedWorkflow = null; $workflow = null; $this->resolveSavedWorkflowAndWorkflowByPostData($postData, $savedWorkflow, $workflow, $type, $id, (bool) $isBeingCopied); $workflowToWizardFormAdapter = new WorkflowToWizardFormAdapter($workflow); $model = $workflowToWizardFormAdapter->makeFormByType(); if (isset($postData['ajax']) && $postData['ajax'] === 'edit-form') { $this->actionValidate($postData, $model); } SavedWorkflowToWorkflowAdapter::resolveWorkflowToSavedWorkflow($workflow, $savedWorkflow); SavedWorkflowsUtil::resolveOrder($savedWorkflow, (bool) $isBeingCopied); if ($savedWorkflow->id > 0) { ControllerSecurityUtil::resolveCanCurrentUserAccessModule($savedWorkflow->moduleClassName); } if ($savedWorkflow->save()) { echo CJSON::encode(array('id' => $savedWorkflow->id, 'redirectToList' => false)); Yii::app()->end(0, false); } else { throw new FailedToSaveModelException(); } }