|
|
|
@ -52,14 +52,14 @@ class CrudMake extends Command |
|
|
|
$this->files = $files; |
|
|
|
|
|
|
|
$this->stubModelNames = [ |
|
|
|
'model_namespace' => 'mstrNmspc', |
|
|
|
'full_model_name' => 'fullMstr', |
|
|
|
'plural_model_name' => 'Masters', |
|
|
|
'model_name' => 'Master', |
|
|
|
'table_name' => 'masters', |
|
|
|
'lang_name' => 'master', |
|
|
|
'model_namespace' => 'mstrNmspc', |
|
|
|
'full_model_name' => 'fullMstr', |
|
|
|
'plural_model_name' => 'Masters', |
|
|
|
'model_name' => 'Master', |
|
|
|
'table_name' => 'masters', |
|
|
|
'lang_name' => 'master', |
|
|
|
'collection_model_var_name' => 'mstrCollections', |
|
|
|
'single_model_var_name' => 'singleMstr', |
|
|
|
'single_model_var_name' => 'singleMstr', |
|
|
|
]; |
|
|
|
} |
|
|
|
|
|
|
|
@ -86,24 +86,31 @@ class CrudMake extends Command |
|
|
|
{ |
|
|
|
$this->getModelName(); |
|
|
|
|
|
|
|
if ( ! $this->modelExists()) { |
|
|
|
app(WebRouteGenerator::class, ['command' => $this])->generate(); |
|
|
|
app(ModelGenerator::class, ['command' => $this])->generate(); |
|
|
|
app(MigrationGenerator::class, ['command' => $this])->generate(); |
|
|
|
app(ControllerGenerator::class, ['command' => $this])->generate(); |
|
|
|
app(IndexViewGenerator::class, ['command' => $this])->generate(); |
|
|
|
app(FormViewGenerator::class, ['command' => $this])->generate(); |
|
|
|
app(LangFileGenerator::class, ['command' => $this])->generate(); |
|
|
|
app(ModelFactoryGenerator::class, ['command' => $this])->generate(); |
|
|
|
app(ModelPolicyGenerator::class, ['command' => $this])->generate(); |
|
|
|
app(FeatureTestGenerator::class, ['command' => $this])->generate(); |
|
|
|
app(ModelTestGenerator::class, ['command' => $this])->generate(); |
|
|
|
app(ModelPolicyTestGenerator::class, ['command' => $this])->generate(); |
|
|
|
|
|
|
|
$this->info('CRUD files generated successfully!'); |
|
|
|
} else { |
|
|
|
if ($this->modelExists()) { |
|
|
|
$this->error("{$this->modelNames['model_name']} model already exists."); |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
// Warn if it has no default layout view based on
|
|
|
|
// simple-crud.default_layout_view config
|
|
|
|
if ($this->defaultLayoutNotExists()) { |
|
|
|
$this->warn(config('simple-crud.default_layout_view').' view does not exists.'); |
|
|
|
} |
|
|
|
|
|
|
|
app(WebRouteGenerator::class, ['command' => $this])->generate(); |
|
|
|
app(ModelGenerator::class, ['command' => $this])->generate(); |
|
|
|
app(MigrationGenerator::class, ['command' => $this])->generate(); |
|
|
|
app(ControllerGenerator::class, ['command' => $this])->generate(); |
|
|
|
app(IndexViewGenerator::class, ['command' => $this])->generate(); |
|
|
|
app(FormViewGenerator::class, ['command' => $this])->generate(); |
|
|
|
app(LangFileGenerator::class, ['command' => $this])->generate(); |
|
|
|
app(ModelFactoryGenerator::class, ['command' => $this])->generate(); |
|
|
|
app(ModelPolicyGenerator::class, ['command' => $this])->generate(); |
|
|
|
app(FeatureTestGenerator::class, ['command' => $this])->generate(); |
|
|
|
app(ModelTestGenerator::class, ['command' => $this])->generate(); |
|
|
|
app(ModelPolicyTestGenerator::class, ['command' => $this])->generate(); |
|
|
|
|
|
|
|
$this->info('CRUD files generated successfully!'); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
@ -113,22 +120,22 @@ class CrudMake extends Command |
|
|
|
*/ |
|
|
|
public function getModelName($modelName = null) |
|
|
|
{ |
|
|
|
$modelName = is_null($modelName) ? $this->argument('name') : $modelName; |
|
|
|
$model_name = ucfirst(class_basename($modelName)); |
|
|
|
$modelName = is_null($modelName) ? $this->argument('name') : $modelName; |
|
|
|
$model_name = ucfirst(class_basename($modelName)); |
|
|
|
$plural_model_name = str_plural($model_name); |
|
|
|
$modelPath = $this->getModelPath($modelName); |
|
|
|
$modelNamespace = $this->getModelNamespace($modelPath); |
|
|
|
$modelPath = $this->getModelPath($modelName); |
|
|
|
$modelNamespace = $this->getModelNamespace($modelPath); |
|
|
|
|
|
|
|
return $this->modelNames = [ |
|
|
|
'model_namespace' => $modelNamespace, |
|
|
|
'full_model_name' => $modelNamespace.'\\'.$model_name, |
|
|
|
'plural_model_name' => $plural_model_name, |
|
|
|
'model_name' => $model_name, |
|
|
|
'table_name' => snake_case($plural_model_name), |
|
|
|
'lang_name' => snake_case($model_name), |
|
|
|
'model_namespace' => $modelNamespace, |
|
|
|
'full_model_name' => $modelNamespace.'\\'.$model_name, |
|
|
|
'plural_model_name' => $plural_model_name, |
|
|
|
'model_name' => $model_name, |
|
|
|
'table_name' => snake_case($plural_model_name), |
|
|
|
'lang_name' => snake_case($model_name), |
|
|
|
'collection_model_var_name' => camel_case($plural_model_name), |
|
|
|
'single_model_var_name' => camel_case($model_name), |
|
|
|
'model_path' => $modelPath, |
|
|
|
'single_model_var_name' => camel_case($model_name), |
|
|
|
'model_path' => $modelPath, |
|
|
|
]; |
|
|
|
} |
|
|
|
|
|
|
|
@ -169,4 +176,16 @@ class CrudMake extends Command |
|
|
|
app_path($this->modelNames['model_path'].'/'.$this->modelNames['model_name'].'.php') |
|
|
|
); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* Check for default layout view file existance |
|
|
|
* |
|
|
|
* @return void |
|
|
|
*/ |
|
|
|
public function defaultLayoutNotExists() |
|
|
|
{ |
|
|
|
return ! $this->files->exists( |
|
|
|
resource_path('views/'.str_replace('.', '/', config('simple-crud.default_layout_view')).'.blade.php') |
|
|
|
); |
|
|
|
} |
|
|
|
} |