/** * @param EmailTemplate $emailTemplate * @return View */ public static function makeViewFromEmailTemplate(EmailTemplate $emailTemplate) { $viewClassName = static::getViewFromEmailTemplateBuiltType($emailTemplate); $emailTemplateToWizardFormAdapter = new EmailTemplateToWizardFormAdapter($emailTemplate); $form = $emailTemplateToWizardFormAdapter->makeFormByBuiltType(); return new $viewClassName($form); }
public function actionSave($builtType) { $postData = PostUtil::getData(); $emailTemplate = null; $this->resolveEmailTemplateByPostData($postData, $emailTemplate, $builtType); $emailTemplateToWizardFormAdapter = new EmailTemplateToWizardFormAdapter($emailTemplate); $model = $emailTemplateToWizardFormAdapter->makeFormByBuiltType(); if (isset($postData['ajax']) && $postData['ajax'] === 'edit-form') { $this->actionValidate($postData, $model); } $unmuteScoring = false; if ($emailTemplate->isBuilderTemplate() && ($emailTemplate->isDraft || !isset($emailTemplate->isDraft))) { Yii::app()->gameHelper->muteScoringModelsOnSave(); $unmuteScoring = true; } $explicitReadWriteModelPermissions = ExplicitReadWriteModelPermissionsUtil::resolveByPostDataAndModelThenMake($postData[get_class($model)], $emailTemplate); if ($emailTemplate->save()) { if ($unmuteScoring) { Yii::app()->gameHelper->unmuteScoringModelsOnSave(); } if ($explicitReadWriteModelPermissions != null) { ExplicitReadWriteModelPermissionsUtil::resolveExplicitReadWriteModelPermissions($emailTemplate, $explicitReadWriteModelPermissions); } $modelClassName = $emailTemplate->modelClassName; $moduleClassName = $modelClassName::getModuleClassName(); echo CJSON::encode(array('id' => $emailTemplate->id, 'redirectToList' => false, 'moduleClassName' => $moduleClassName)); Yii::app()->end(0, false); } else { throw new FailedToSaveModelException(); } }