Example #1
0
 /**
  * @inheritdoc
  */
 public function generate()
 {
     $files = parent::generate();
     if (!empty($this->viewModelClass)) {
         $viewModel = Yii::getAlias('@' . str_replace('\\', '/', ltrim($this->viewModelClass, '\\') . '.php'));
         $files[] = new CodeFile($viewModel, $this->render('view.php'));
     }
     return $files;
 }
 public function testCRUDGenerator()
 {
     $generator = new CRUDGenerator();
     $generator->template = 'default';
     $generator->modelClass = 'yiiunit\\extensions\\gii\\Profile';
     $generator->controllerClass = 'app\\TestController';
     $valid = $generator->validate();
     $this->assertTrue($valid, 'Validation failed: ' . print_r($generator->getErrors(), true));
     $this->assertNotEmpty($generator->generate());
 }
Example #3
0
 public function generate()
 {
     $files = parent::generate();
     //Remove the old controller if not asked and file already exists
     $controllerClassFile = Yii::getAlias('@' . str_replace('\\', '/', ltrim($this->controllerClass, '\\')) . '.php');
     if (!$this->generateControllerClass && is_file($controllerClassFile)) {
         $files = array_filter($files, function ($row) use($controllerClassFile) {
             return $row->path != $controllerClassFile;
         });
     }
     $traitFile = Yii::getAlias('@' . str_replace('\\', '/', ltrim($this->traitClass, '\\')) . '.php');
     $files[] = new CodeFile($traitFile, $this->render('trait.php'));
     return $files;
 }
Example #4
0
 public function testCRUDGenerator()
 {
     $generator = new CRUDGenerator();
     $generator->template = 'default';
     $generator->modelClass = 'yiiunit\\extensions\\gii\\Profile';
     $generator->controllerClass = 'app\\TestController';
     if ($generator->validate()) {
         $generator->generate();
     } else {
         print_r($generator->getErrors());
     }
 }
Example #5
0
 public function generate()
 {
     if ($this->singularEntities) {
         $this->modelClass = Inflector::singularize($this->modelClass);
         $this->controllerClass = Inflector::singularize(substr($this->controllerClass, 0, strlen($this->controllerClass) - 10)) . "Controller";
         $this->searchModelClass = Inflector::singularize($this->searchModelClass);
     }
     return parent::generate();
 }
Example #6
0
 /**
  * @inheritdoc
  */
 public function generate()
 {
     $this->getModelAttributes();
     return;
     //$this->readModel($this->modelClass);
     $this->relationsFields();
     $files = parent::generate();
     if ($this->enableI18N && $this->addingI18NStrings && !empty($this->I18NStrings)) {
         if (($pos = strpos($this->controllerClass, '\\controllers\\')) !== false) {
             $path = rtrim(Yii::getAlias('@' . str_replace('\\', '/', ltrim(substr($this->controllerClass, 0, $pos), '\\'))), '/') . '/messages';
             if (is_dir($path)) {
                 foreach (array_diff(scandir($path), ['.', '..']) as $language) {
                     $filename = "{$path}/{$language}/{$this->messageCategory}.php";
                     $messages = file_exists($filename) ? require $filename : [];
                     $messages = array_merge($messages, array_diff_key($this->I18NStrings, $messages));
                     $files[] = new CodeFile($filename, "<?php\nreturn " . VarDumper::export($messages) . ";");
                 }
             }
         }
     }
     return $files;
 }