From 020f2a44e37cdac6e291c3715aa863b3b05ad7d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Borja=20Jim=C3=A9nez?= Date: Sat, 4 Jan 2025 03:07:55 +0100 Subject: [PATCH 1/2] add Form and Table to prevent collision while creating a resource --- .../src/Commands/MakeResourceCommand.php | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/packages/panels/src/Commands/MakeResourceCommand.php b/packages/panels/src/Commands/MakeResourceCommand.php index 76bafcc837d..1d1b1819fd7 100644 --- a/packages/panels/src/Commands/MakeResourceCommand.php +++ b/packages/panels/src/Commands/MakeResourceCommand.php @@ -239,8 +239,7 @@ class_exists($potentialCluster) && 'formSchema' => $this->indentString($this->option('generate') ? $this->getResourceFormSchema( $modelNamespace . ($modelSubNamespace !== '' ? "\\{$modelSubNamespace}" : '') . '\\' . $modelClass, ) : '//', 4), - 'model' => ($model === 'Resource') ? "{$modelNamespace}\\Resource as ResourceModel" : "{$modelNamespace}\\{$model}", - 'modelClass' => ($model === 'Resource') ? 'ResourceModel' : $modelClass, + ...$this->generateModel($model, $modelNamespace, $modelClass), 'namespace' => $namespace, 'pages' => $this->indentString($pages, 3), 'relations' => $this->indentString($relations, 1), @@ -324,4 +323,20 @@ class_exists($potentialCluster) && return static::SUCCESS; } + + protected function generateModel(string $model, string $modelNamespace, string $modelClass): array + { + $possibilities = ['Form', 'Table', 'Resource']; + $params = []; + + if (in_array($model, $possibilities)) { + $params['model'] = "{$modelNamespace}\\{$model} as {$model}Model"; + $params['modelClass'] = $model . 'Model'; + } else { + $params['model'] = "{$modelNamespace}\\{$model}"; + $params['modelClass'] = $modelClass; + } + + return $params; + } } From 0c98a4521772b7eafcadc3ac583a3203d8692562 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Borja=20Jim=C3=A9nez?= Date: Sat, 4 Jan 2025 03:16:11 +0100 Subject: [PATCH 2/2] add type comment --- packages/panels/src/Commands/MakeResourceCommand.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/panels/src/Commands/MakeResourceCommand.php b/packages/panels/src/Commands/MakeResourceCommand.php index 1d1b1819fd7..1cf70483f87 100644 --- a/packages/panels/src/Commands/MakeResourceCommand.php +++ b/packages/panels/src/Commands/MakeResourceCommand.php @@ -324,6 +324,9 @@ class_exists($potentialCluster) && return static::SUCCESS; } + /** + * @return array + */ protected function generateModel(string $model, string $modelNamespace, string $modelClass): array { $possibilities = ['Form', 'Table', 'Resource'];