From 9aefdea67fa0aaa7fa20855d596493d9d54063f5 Mon Sep 17 00:00:00 2001 From: Vitaliy Boyko Date: Sat, 17 Dec 2022 21:02:23 +0200 Subject: [PATCH 1/4] 1226: fixed issue with visible delete button in the new entity form --- .../internal/Magento Form Button Block Class.php.ft | 5 +++++ .../generator/UiComponentFormButtonBlockGenerator.java | 3 +++ .../generateDeleteButtonBlock/DeleteBlock.php | 4 ++++ 3 files changed, 12 insertions(+) diff --git a/resources/fileTemplates/internal/Magento Form Button Block Class.php.ft b/resources/fileTemplates/internal/Magento Form Button Block Class.php.ft index 89897c75a..059df6fb5 100644 --- a/resources/fileTemplates/internal/Magento Form Button Block Class.php.ft +++ b/resources/fileTemplates/internal/Magento Form Button Block Class.php.ft @@ -20,6 +20,11 @@ class ${NAME} extends ${GENERIC_BUTTON} implements ${DATA_PROVIDER_TYPE} */ public function getButtonData(): array { +#if (${GET_ID}) + if (!$this->${GET_ID}) { + return []; + } +#end return $this->wrapButtonSettings( '${LABEL}', '${CLASS}', diff --git a/src/com/magento/idea/magento2plugin/actions/generation/generator/UiComponentFormButtonBlockGenerator.java b/src/com/magento/idea/magento2plugin/actions/generation/generator/UiComponentFormButtonBlockGenerator.java index 164d0153f..b3dabdf21 100644 --- a/src/com/magento/idea/magento2plugin/actions/generation/generator/UiComponentFormButtonBlockGenerator.java +++ b/src/com/magento/idea/magento2plugin/actions/generation/generator/UiComponentFormButtonBlockGenerator.java @@ -208,6 +208,9 @@ protected void fillAttributes(final @NotNull Properties attributes) { attributes.setProperty("SORT_ORDER", String.valueOf(buttonTypeSettings.getSortOrder())); attributes.setProperty("ENTITY_NAME", Strings.toLowerCase(entityName)); attributes.setProperty("ENTITY_ID", entityIdField); + if (buttonData.getButtonClassName().equals(FormButtonBlockFile.TYPE_DELETE)) { + attributes.setProperty("GET_ID", entityIdAccessor); + } attributes.setProperty("USES", PhpClassGeneratorUtil.formatUses(uses)); } diff --git a/testData/actions/generation/generator/FormButtonBlockGenerator/generateDeleteButtonBlock/DeleteBlock.php b/testData/actions/generation/generator/FormButtonBlockGenerator/generateDeleteButtonBlock/DeleteBlock.php index 6c172f538..a378add98 100644 --- a/testData/actions/generation/generator/FormButtonBlockGenerator/generateDeleteButtonBlock/DeleteBlock.php +++ b/testData/actions/generation/generator/FormButtonBlockGenerator/generateDeleteButtonBlock/DeleteBlock.php @@ -17,6 +17,10 @@ class DeleteBlock extends GenericButton implements ButtonProviderInterface */ public function getButtonData(): array { + if (!$this->getAmazingId()) { + return []; + } + return $this->wrapButtonSettings( 'Delete', 'delete', From fe8469f1f88565259c8f6f527ab1b08d2b80d235 Mon Sep 17 00:00:00 2001 From: Vitaliy Boyko Date: Sat, 17 Dec 2022 21:06:48 +0200 Subject: [PATCH 2/4] 1226: updated CHANGELOG.md --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 29a841646..e42755970 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0). ### Fixed - Throwable: Stub index points to a file without PSI [#1232](https://github.com/magento/magento2-phpstorm-plugin/pull/1232) +- Create an entity - delete button is displayed in a new entity form [#1268](https://github.com/magento/magento2-phpstorm-plugin/pull/1268) ## 5.0.0 From 8ad2e4f90e778088721b2da70a89c873c25235d2 Mon Sep 17 00:00:00 2001 From: Vitaliy Boyko Date: Sat, 17 Dec 2022 21:10:00 +0200 Subject: [PATCH 3/4] 1226: added line --- .../internal/Magento Form Button Block Class.php.ft | 1 + 1 file changed, 1 insertion(+) diff --git a/resources/fileTemplates/internal/Magento Form Button Block Class.php.ft b/resources/fileTemplates/internal/Magento Form Button Block Class.php.ft index 059df6fb5..ba2ec2113 100644 --- a/resources/fileTemplates/internal/Magento Form Button Block Class.php.ft +++ b/resources/fileTemplates/internal/Magento Form Button Block Class.php.ft @@ -24,6 +24,7 @@ class ${NAME} extends ${GENERIC_BUTTON} implements ${DATA_PROVIDER_TYPE} if (!$this->${GET_ID}) { return []; } + #end return $this->wrapButtonSettings( '${LABEL}', From 14674c59cf8147d30a90671f141cefbe8b7aa747 Mon Sep 17 00:00:00 2001 From: vitaliy Date: Sat, 17 Dec 2022 22:30:14 +0200 Subject: [PATCH 4/4] 1226: fixed tests --- .../generator/UiComponentFormButtonBlockGenerator.java | 2 +- .../generateDeleteButtonBlock/DeleteBlock.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/com/magento/idea/magento2plugin/actions/generation/generator/UiComponentFormButtonBlockGenerator.java b/src/com/magento/idea/magento2plugin/actions/generation/generator/UiComponentFormButtonBlockGenerator.java index b3dabdf21..ecec1c5c7 100644 --- a/src/com/magento/idea/magento2plugin/actions/generation/generator/UiComponentFormButtonBlockGenerator.java +++ b/src/com/magento/idea/magento2plugin/actions/generation/generator/UiComponentFormButtonBlockGenerator.java @@ -208,7 +208,7 @@ protected void fillAttributes(final @NotNull Properties attributes) { attributes.setProperty("SORT_ORDER", String.valueOf(buttonTypeSettings.getSortOrder())); attributes.setProperty("ENTITY_NAME", Strings.toLowerCase(entityName)); attributes.setProperty("ENTITY_ID", entityIdField); - if (buttonData.getButtonClassName().equals(FormButtonBlockFile.TYPE_DELETE)) { + if (buttonData.getButtonType().equals(FormButtonBlockFile.TYPE_DELETE)) { attributes.setProperty("GET_ID", entityIdAccessor); } diff --git a/testData/actions/generation/generator/FormButtonBlockGenerator/generateDeleteButtonBlock/DeleteBlock.php b/testData/actions/generation/generator/FormButtonBlockGenerator/generateDeleteButtonBlock/DeleteBlock.php index a378add98..78adb4440 100644 --- a/testData/actions/generation/generator/FormButtonBlockGenerator/generateDeleteButtonBlock/DeleteBlock.php +++ b/testData/actions/generation/generator/FormButtonBlockGenerator/generateDeleteButtonBlock/DeleteBlock.php @@ -17,7 +17,7 @@ class DeleteBlock extends GenericButton implements ButtonProviderInterface */ public function getButtonData(): array { - if (!$this->getAmazingId()) { + if (!$this->getBookId()) { return []; }