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 @@