From 3eb90c54c170bfe38cb636a0c22f65cd28caeff5 Mon Sep 17 00:00:00 2001 From: Luciano Baraglia Date: Fri, 21 Mar 2014 02:47:16 -0300 Subject: [PATCH] Enable I18N for GII model generator --- extensions/gii/assets/gii.js | 6 +++--- extensions/gii/generators/model/Generator.php | 12 +++++++----- extensions/gii/generators/model/default/model.php | 2 +- extensions/gii/generators/model/form.php | 2 ++ 4 files changed, 13 insertions(+), 9 deletions(-) diff --git a/extensions/gii/assets/gii.js b/extensions/gii/assets/gii.js index 8ea5befa05..dbbd915c87 100644 --- a/extensions/gii/assets/gii.js +++ b/extensions/gii/assets/gii.js @@ -115,9 +115,9 @@ yii.gii = (function ($) { $('#model-generator .field-generator-modelclass').toggle($(this).val().indexOf('*') == -1); }).change(); - // CRUD generator: hide messageCategory when I18N is disabled - $('#crud-generator #generator-enablei18n').change(function () { - $('#crud-generator .field-generator-messagecategory').toggle($(this).is(':checked')); + // hide message category when I18N is disabled + $('form #generator-enablei18n').change(function () { + $('form .field-generator-messagecategory').toggle($(this).is(':checked')); }).change(); // hide Generate button if any input is changed diff --git a/extensions/gii/generators/model/Generator.php b/extensions/gii/generators/model/Generator.php index 7f030f1475..7e753a1a34 100644 --- a/extensions/gii/generators/model/Generator.php +++ b/extensions/gii/generators/model/Generator.php @@ -64,6 +64,8 @@ class Generator extends \yii\gii\Generator [['modelClass'], 'validateModelClass', 'skipOnEmpty' => false], [['baseClass'], 'validateClass', 'params' => ['extends' => ActiveRecord::className()]], [['generateRelations', 'generateLabelsFromComments'], 'boolean'], + [['enableI18N'], 'boolean'], + [['messageCategory'], 'validateMessageCategory', 'skipOnEmpty' => false], ]); } @@ -72,7 +74,7 @@ class Generator extends \yii\gii\Generator */ public function attributeLabels() { - return [ + return array_merge(parent::attributeLabels(), [ 'ns' => 'Namespace', 'db' => 'Database Connection ID', 'tableName' => 'Table Name', @@ -80,7 +82,7 @@ class Generator extends \yii\gii\Generator 'baseClass' => 'Base Class', 'generateRelations' => 'Generate Relations', 'generateLabelsFromComments' => 'Generate Labels from DB Comments', - ]; + ]); } /** @@ -88,7 +90,7 @@ class Generator extends \yii\gii\Generator */ public function hints() { - return [ + return array_merge(parent::hints(), [ 'ns' => 'This is the namespace of the ActiveRecord class to be generated, e.g., app\models', 'db' => 'This is the ID of the DB application component.', 'tableName' => 'This is the name of the DB table that the new ActiveRecord class is associated with, e.g. tbl_post. @@ -107,7 +109,7 @@ class Generator extends \yii\gii\Generator you may want to uncheck this option to accelerate the code generation process.', 'generateLabelsFromComments' => 'This indicates whether the generator should generate attribute labels by using the comments of the corresponding DB columns.', - ]; + ]); } /** @@ -140,7 +142,7 @@ class Generator extends \yii\gii\Generator */ public function stickyAttributes() { - return ['ns', 'db', 'baseClass', 'generateRelations', 'generateLabelsFromComments']; + return array_merge(parent::stickyAttributes(), ['ns', 'db', 'baseClass', 'generateRelations', 'generateLabelsFromComments']); } /** diff --git a/extensions/gii/generators/model/default/model.php b/extensions/gii/generators/model/default/model.php index ae84b7055c..40902d5518 100644 --- a/extensions/gii/generators/model/default/model.php +++ b/extensions/gii/generators/model/default/model.php @@ -55,7 +55,7 @@ class extends baseClass, '\\') . { return [ $label): ?> - '" . addslashes($label) . "',\n" ?> + " . $generator->generateString($label) . ",\n" ?> ]; } diff --git a/extensions/gii/generators/model/form.php b/extensions/gii/generators/model/form.php index ddc40f8be4..8f53b01eb2 100644 --- a/extensions/gii/generators/model/form.php +++ b/extensions/gii/generators/model/form.php @@ -12,3 +12,5 @@ echo $form->field($generator, 'baseClass'); echo $form->field($generator, 'db'); echo $form->field($generator, 'generateRelations')->checkbox(); echo $form->field($generator, 'generateLabelsFromComments')->checkbox(); +echo $form->field($generator, 'enableI18N')->checkbox(); +echo $form->field($generator, 'messageCategory');