/**
  * @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();
     }
 }