From 36bd0c8b69746e27ef6cfeea0aa7da5ca4ccb165 Mon Sep 17 00:00:00 2001
From: "qiang.xue"
Date: Wed, 7 Apr 2010 00:41:20 +0000
Subject: [PATCH] refactored gii.
---
framework/gii/CCodeGenerator.php | 18 ---------------
framework/gii/CCodeModel.php | 20 +++++++++++++++++
.../generators/controller/ControllerCode.php | 6 +++++
.../controller/ControllerGenerator.php | 6 -----
framework/gii/generators/crud/CrudCode.php | 6 +++++
.../gii/generators/crud/CrudGenerator.php | 6 -----
framework/gii/generators/form/FormCode.php | 11 ++++++++++
.../gii/generators/form/FormGenerator.php | 10 ---------
.../gii/generators/model/ModelGenerator.php | 6 -----
.../gii/generators/module/ModuleCode.php | 22 +++++++++++++++++++
.../gii/generators/module/ModuleGenerator.php | 22 -------------------
framework/gii/views/common/generator.php | 4 ++--
12 files changed, 67 insertions(+), 70 deletions(-)
diff --git a/framework/gii/CCodeGenerator.php b/framework/gii/CCodeGenerator.php
index 83a7b6c46..b6c995d61 100644
--- a/framework/gii/CCodeGenerator.php
+++ b/framework/gii/CCodeGenerator.php
@@ -138,24 +138,6 @@ class CCodeGenerator extends CController
$this->_viewPath=$value;
}
- /**
- * @param CCodeModel the current code model
- * @return string the message to be displayed when the newly generated code is saved successfully.
- */
- public function getSuccessMessage($model)
- {
- return 'The code has been generated successfully.';
- }
-
- /**
- * @param CCodeModel the current code model
- * @return string the message to be displayed when some error occurred during code file saving.
- */
- public function getErrorMessage($model)
- {
- return 'There was some error when generating the code. Please check the following messages.';
- }
-
/**
* Prepares the code model.
*/
diff --git a/framework/gii/CCodeModel.php b/framework/gii/CCodeModel.php
index 6328008f3..e2f0b6ef3 100644
--- a/framework/gii/CCodeModel.php
+++ b/framework/gii/CCodeModel.php
@@ -152,6 +152,26 @@ abstract class CCodeModel extends CFormModel
return $result;
}
+ /**
+ * Returns the message to be displayed when the newly generated code is saved successfully.
+ * Child classes should override this method if the message needs to be customized.
+ * @return string the message to be displayed when the newly generated code is saved successfully.
+ */
+ public function successMessage()
+ {
+ return 'The code has been generated successfully.';
+ }
+
+ /**
+ * Returns the message to be displayed when some error occurred during code file saving.
+ * Child classes should override this method if the message needs to be customized.
+ * @return string the message to be displayed when some error occurred during code file saving.
+ */
+ public function errorMessage()
+ {
+ return 'There was some error when generating the code. Please check the following messages.';
+ }
+
/**
* Returns a list of available code templates (name=>directory).
* This method simply returns the {@link CCodeGenerator::templates} property value.
diff --git a/framework/gii/generators/controller/ControllerCode.php b/framework/gii/generators/controller/ControllerCode.php
index 59e5ce66a..5d1736ff7 100644
--- a/framework/gii/generators/controller/ControllerCode.php
+++ b/framework/gii/generators/controller/ControllerCode.php
@@ -35,6 +35,12 @@ class ControllerCode extends CCodeModel
);
}
+ public function successMessage()
+ {
+ $link=CHtml::link('try it now', Yii::app()->createUrl($this->controller), array('target'=>'_blank'));
+ return "The controller has been generated successfully. You may $link.";
+ }
+
public function prepare()
{
$this->files=array();
diff --git a/framework/gii/generators/controller/ControllerGenerator.php b/framework/gii/generators/controller/ControllerGenerator.php
index b62c39cc6..91ffaaa72 100644
--- a/framework/gii/generators/controller/ControllerGenerator.php
+++ b/framework/gii/generators/controller/ControllerGenerator.php
@@ -3,10 +3,4 @@
class ControllerGenerator extends CCodeGenerator
{
public $codeModel='gii.generators.controller.ControllerCode';
-
- public function getSuccessMessage($model)
- {
- $link=CHtml::link('try it now', Yii::app()->createUrl($model->controller), array('target'=>'_blank'));
- return "The controller has been generated successfully. You may $link.";
- }
}
\ No newline at end of file
diff --git a/framework/gii/generators/crud/CrudCode.php b/framework/gii/generators/crud/CrudCode.php
index 248159d6f..c1ec90ebf 100644
--- a/framework/gii/generators/crud/CrudCode.php
+++ b/framework/gii/generators/crud/CrudCode.php
@@ -45,6 +45,12 @@ class CrudCode extends CCodeModel
parent::init();
}
+ public function successMessage()
+ {
+ $link=CHtml::link('try it now', Yii::app()->createUrl($this->controller), array('target'=>'_blank'));
+ return "The controller has been generated successfully. You may $link.";
+ }
+
public function validateModel($attribute,$params)
{
if($this->hasErrors('model'))
diff --git a/framework/gii/generators/crud/CrudGenerator.php b/framework/gii/generators/crud/CrudGenerator.php
index 2a877bd6a..790e07316 100644
--- a/framework/gii/generators/crud/CrudGenerator.php
+++ b/framework/gii/generators/crud/CrudGenerator.php
@@ -3,10 +3,4 @@
class CrudGenerator extends CCodeGenerator
{
public $codeModel='gii.generators.crud.CrudCode';
-
- public function getSuccessMessage($model)
- {
- $link=CHtml::link('try it now', Yii::app()->createUrl($model->controller), array('target'=>'_blank'));
- return "The controller has been generated successfully. You may $link.";
- }
}
\ No newline at end of file
diff --git a/framework/gii/generators/form/FormCode.php b/framework/gii/generators/form/FormCode.php
index f728a3d40..b7e32f963 100644
--- a/framework/gii/generators/form/FormCode.php
+++ b/framework/gii/generators/form/FormCode.php
@@ -37,9 +37,20 @@ class FormCode extends CCodeModel
{
return array(
'form.php',
+ 'action.php',
);
}
+ public function successMessage()
+ {
+ $output=<<The form has been generated successfully.
+You may add the following code in an appropriate controller class to invoke the view:
+EOD;
+ $code="render($this->templatePath.'/action.php');
+ return $output.highlight_string($code,true);
+ }
+
public function validateModel($attribute,$params)
{
if($this->hasErrors('model'))
diff --git a/framework/gii/generators/form/FormGenerator.php b/framework/gii/generators/form/FormGenerator.php
index 7fa2e3199..a9ec2df3c 100644
--- a/framework/gii/generators/form/FormGenerator.php
+++ b/framework/gii/generators/form/FormGenerator.php
@@ -3,14 +3,4 @@
class FormGenerator extends CCodeGenerator
{
public $codeModel='gii.generators.form.FormCode';
-
- public function getSuccessMessage($model)
- {
- $output=<<The form has been generated successfully.
-You may add the following code in an appropriate controller class to invoke the view:
-EOD;
- $code="render($model->templatePath.'/action.php');
- return $output.highlight_string($code,true);
- }
}
\ No newline at end of file
diff --git a/framework/gii/generators/model/ModelGenerator.php b/framework/gii/generators/model/ModelGenerator.php
index 476611353..fd2574e33 100644
--- a/framework/gii/generators/model/ModelGenerator.php
+++ b/framework/gii/generators/model/ModelGenerator.php
@@ -3,10 +3,4 @@
class ModelGenerator extends CCodeGenerator
{
public $codeModel='gii.generators.model.ModelCode';
-
- public function getSuccessMessage($model)
- {
- $link=CHtml::link('try it now', Yii::app()->createUrl($model->controller), array('target'=>'_blank'));
- return "The controller has been generated successfully. You may $link.";
- }
}
\ No newline at end of file
diff --git a/framework/gii/generators/module/ModuleCode.php b/framework/gii/generators/module/ModuleCode.php
index 0c4b76ee1..4fb90f07e 100644
--- a/framework/gii/generators/module/ModuleCode.php
+++ b/framework/gii/generators/module/ModuleCode.php
@@ -20,6 +20,28 @@ class ModuleCode extends CCodeModel
));
}
+ public function successMessage()
+ {
+ if(Yii::app()->hasModule($this->moduleID))
+ return 'The module has been generated successfully. You may '.CHtml::link('try it now', Yii::app()->createUrl($this->moduleID), array('target'=>'_blank')).'.';
+
+ $output=<<The module has been generated successfully.
+To access the module, you need to modify the application configuration as follows:
+EOD;
+ $code=<<array(
+ '{$this->moduleID}',
+ ),
+ ......
+);
+EOD;
+
+ return $output.highlight_string($code,true);
+ }
+
public function prepare()
{
$this->files=array();
diff --git a/framework/gii/generators/module/ModuleGenerator.php b/framework/gii/generators/module/ModuleGenerator.php
index 476a965c8..c1ba1b62f 100644
--- a/framework/gii/generators/module/ModuleGenerator.php
+++ b/framework/gii/generators/module/ModuleGenerator.php
@@ -3,26 +3,4 @@
class ModuleGenerator extends CCodeGenerator
{
public $codeModel='gii.generators.module.ModuleCode';
-
- public function getSuccessMessage($model)
- {
- if(Yii::app()->hasModule($model->moduleID))
- return 'The module has been generated successfully. You may '.CHtml::link('try it now', Yii::app()->createUrl($model->moduleID), array('target'=>'_blank')).'.';
-
- $output=<<The module has been generated successfully.
-To access the module, you need to modify the application configuration as follows:
-EOD;
- $code=<<array(
- '{$model->moduleID}',
- ),
- ......
-);
-EOD;
-
- return $output.highlight_string($code,true);
- }
}
\ No newline at end of file
diff --git a/framework/gii/views/common/generator.php b/framework/gii/views/common/generator.php
index c8599e385..f05084507 100644
--- a/framework/gii/views/common/generator.php
+++ b/framework/gii/views/common/generator.php
@@ -21,11 +21,11 @@
status===CCodeModel::STATUS_SUCCESS): ?>
- getSuccessMessage($model); ?>
+ successMessage(); ?>
status===CCodeModel::STATUS_ERROR): ?>
- getErrorMessage($model); ?>
+ errorMessage(); ?>