Skip to content

Commit 3703b72

Browse files
author
Vitaliy Boyko
committed
Merge remote-tracking branch 'origin/mainline-entity-manager' into mainline-entity-manager
2 parents 5911974 + ebeab55 commit 3703b72

File tree

236 files changed

+9972
-3331
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

236 files changed

+9972
-3331
lines changed

resources/META-INF/plugin.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -236,6 +236,11 @@
236236
<internalFileTemplate name="Magento Entity Index Adminhtml Controller Class"/>
237237
<internalFileTemplate name="Magento Grid Ui Component Action Column Class"/>
238238
<internalFileTemplate name="Magento PHP Form Generic Button Block Class"/>
239+
<internalFileTemplate name="Magento Entity New Action Controller Class"/>
240+
<internalFileTemplate name="Magento New Entity Layout XML"/>
241+
<internalFileTemplate name="Magento Delete Entity By Id Command"/>
242+
<internalFileTemplate name="Magento Entity Edit Action Controller Class"/>
243+
<internalFileTemplate name="Magento Entity Delete Controller Class"/>
239244

240245
<defaultLiveTemplates file="/liveTemplates/MagentoPWA.xml"/>
241246

resources/fileTemplates/code/Magento Module UI Component Form Field Xml.xml.ft

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,17 @@
99
<label translate="true">${LABEL}</label>
1010
<dataScope>${NAME}</dataScope>
1111
</settings>
12+
#if(${FORM_ELEMENT} == 'checkbox')
13+
<formElements>
14+
<checkbox>
15+
<settings>
16+
<valueMap>
17+
<map name="false" xsi:type="number">0</map>
18+
<map name="true" xsi:type="number">1</map>
19+
</valueMap>
20+
<prefer>toggle</prefer>
21+
</settings>
22+
</checkbox>
23+
</formElements>
24+
#end
1225
</field>

resources/fileTemplates/code/Magento Php Form Button Block Type Back.php.ft

Lines changed: 0 additions & 6 deletions
This file was deleted.

resources/fileTemplates/code/Magento Php Form Button Block Type Back.php.html

Lines changed: 0 additions & 1 deletion
This file was deleted.

resources/fileTemplates/code/Magento Php Form Button Block Type Delete.php.ft

Lines changed: 0 additions & 11 deletions
This file was deleted.

resources/fileTemplates/code/Magento Php Form Button Block Type Delete.php.html

Lines changed: 0 additions & 1 deletion
This file was deleted.

resources/fileTemplates/code/Magento Php Form Button Block Type Save.php.ft

Lines changed: 0 additions & 22 deletions
This file was deleted.

resources/fileTemplates/code/Magento Php Form Button Block Type Save.php.html

Lines changed: 0 additions & 1 deletion
This file was deleted.
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
<?php
2+
#parse("PHP File Header.php")
3+
4+
namespace ${NAMESPACE};
5+
6+
#set($uses = ${USES})
7+
#foreach ($use in $uses.split(","))
8+
use $use;
9+
#end
10+
11+
/**
12+
* Delete ${ENTITY_NAME} by id Command.
13+
*/
14+
class ${CLASS_NAME}
15+
{
16+
/**
17+
* @var ${LOGGER}
18+
*/
19+
private $logger;
20+
21+
/**
22+
* @var ${MODEL_FACTORY}
23+
*/
24+
private $modelFactory;
25+
26+
/**
27+
* @var ${RESOURCE}
28+
*/
29+
private $resource;
30+
31+
/**
32+
* @param ${LOGGER} $logger
33+
* @param ${MODEL_FACTORY} $modelFactory
34+
* @param ${RESOURCE} $resource
35+
*/
36+
public function __construct(
37+
${LOGGER} $logger,
38+
${MODEL_FACTORY} $modelFactory,
39+
${RESOURCE} $resource
40+
) {
41+
$this->logger = $logger;
42+
$this->modelFactory = $modelFactory;
43+
$this->resource = $resource;
44+
}
45+
46+
/**
47+
* Delete ${ENTITY_NAME}.
48+
*
49+
* @param int $entityId
50+
*
51+
* @return void
52+
* @throws ${COULD_NOT_DELETE}|${NO_SUCH_ENTITY_EXCEPTION}
53+
*/
54+
public function execute(int $entityId)
55+
{
56+
try {
57+
/** @var ${MODEL} $model */
58+
$model = $this->modelFactory->create();
59+
$this->resource->load($model, $entityId, '${ENTITY_ID}');
60+
61+
if (!$model->getData('${ENTITY_ID}')) {
62+
throw new ${NO_SUCH_ENTITY_EXCEPTION}(
63+
__('Could not find ${ENTITY_NAME} with id: `%id`',
64+
[
65+
'id' => $entityId
66+
]
67+
)
68+
);
69+
}
70+
71+
$this->resource->delete($model);
72+
} catch (Exception $exception) {
73+
$this->logger->error(
74+
__('Could not delete ${ENTITY_NAME}. Original message: {message}'),
75+
[
76+
'message' => $exception->getMessage(),
77+
'exception' => $exception
78+
]
79+
);
80+
throw new ${COULD_NOT_DELETE}(__('Could not delete ${ENTITY_NAME}.'));
81+
}
82+
}
83+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<html lang="en">
2+
<body>
3+
<p face="verdana" size="-1">
4+
5+
</p>
6+
7+
<table width="100%" border="0" cellpadding="5" cellspacing="0" style="border-collapse: collapse">
8+
<tr>
9+
<td colspan="3"><font face="verdana" size="-1">Template's predefined variables:</font></td>
10+
</tr>
11+
<tr>
12+
<td valign="top"><nobr><font face="verdana" size="-2"><b>${NAMESPACE}</b></font></nobr></td>
13+
<td width="10">&nbsp;</td>
14+
<td width="100%" valign="top"><font face="verdana" size="-1"></font></td>
15+
</tr>
16+
</table>
17+
</body>
18+
</html>
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
<?php
2+
#parse("PHP File Header.php")
3+
4+
namespace ${NAMESPACE};
5+
6+
#set($uses = ${USES})
7+
#foreach ($use in $uses.split(","))
8+
use $use;
9+
#end
10+
11+
/**
12+
* Delete ${ENTITY_NAME} controller.
13+
*/
14+
class ${CLASS_NAME} extends ${EXTENDS} implements ${IMPLEMENTS_POST}, ${IMPLEMENTS_GET}
15+
{
16+
/**
17+
* Authorization level of a basic admin session.
18+
*
19+
* @see _isAllowed()
20+
*/
21+
const ADMIN_RESOURCE = '${ADMIN_RESOURCE}';
22+
23+
/**
24+
* @var ${DELETE_COMMAND}
25+
*/
26+
private $deleteByIdCommand;
27+
28+
/**
29+
* @param Context $context
30+
* @param DeleteByIdCommand $deleteByIdCommand
31+
*/
32+
public function __construct(
33+
${CONTEXT} $context,
34+
${DELETE_COMMAND} $deleteByIdCommand
35+
) {
36+
parent::__construct($context);
37+
$this->deleteByIdCommand = $deleteByIdCommand;
38+
}
39+
40+
/**
41+
* Delete ${ENTITY_NAME} action.
42+
*
43+
* @return ${RESULT_INTERFACE}
44+
*/
45+
public function execute()
46+
{
47+
/** @var ${RESULT_INTERFACE} $resultRedirect */
48+
$resultRedirect = $this->resultFactory->create(${RESULT_FACTORY}::TYPE_REDIRECT);
49+
$resultRedirect->setPath('*/*/');
50+
$entityId = (int) $this->getRequest()->getParam('${ENTITY_ID}');
51+
52+
try {
53+
$this->deleteByIdCommand->execute($entityId);
54+
$this->messageManager->addSuccessMessage(__('You have successfully deleted ${ENTITY_NAME} entity'));
55+
} catch (${COULD_NOT_DELETE} | ${NO_SUCH_ENTITY_EXCEPTION} $exception) {
56+
$this->messageManager->addErrorMessage($exception->getMessage());
57+
}
58+
59+
return $resultRedirect;
60+
}
61+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<html lang="en">
2+
<body>
3+
<p face="verdana" size="-1">
4+
5+
</p>
6+
7+
<table width="100%" border="0" cellpadding="5" cellspacing="0" style="border-collapse: collapse">
8+
<tr>
9+
<td colspan="3"><font face="verdana" size="-1">Template's predefined variables:</font></td>
10+
</tr>
11+
<tr>
12+
<td valign="top"><nobr><font face="verdana" size="-2"><b>${NAMESPACE}</b></font></nobr></td>
13+
<td width="10">&nbsp;</td>
14+
<td width="100%" valign="top"><font face="verdana" size="-1"></font></td>
15+
</tr>
16+
</table>
17+
</body>
18+
</html>
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
<?php
2+
#parse("PHP File Header.php")
3+
4+
namespace ${NAMESPACE};
5+
6+
#set($uses = ${USES})
7+
#foreach ($use in $uses.split(","))
8+
use $use;
9+
#end
10+
11+
/**
12+
* Edit ${ENTITY_NAME} entity backend controller.
13+
*/
14+
class ${CLASS_NAME} extends ${EXTENDS} implements ${IMPLEMENTS}
15+
{
16+
/**
17+
* Authorization level of a basic admin session.
18+
*
19+
* @see _isAllowed()
20+
*/
21+
const ADMIN_RESOURCE = '${ADMIN_RESOURCE}';
22+
23+
/**
24+
* Edit ${ENTITY_NAME} action.
25+
*
26+
* @return ${RESULT_PAGE}|${RESULT_INTERFACE}
27+
*/
28+
public function execute()
29+
{
30+
/** @var ${RESULT_PAGE} $resultPage */
31+
$resultPage = $this->resultFactory->create(${RESULT_FACTORY}::TYPE_PAGE);
32+
$resultPage->setActiveMenu('${MENU_IDENTIFIER}');
33+
$resultPage->getConfig()->getTitle()->prepend(__('Edit ${ENTITY_NAME}'));
34+
35+
return $resultPage;
36+
}
37+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<html lang="en">
2+
<body>
3+
<p face="verdana" size="-1">
4+
5+
</p>
6+
7+
<table width="100%" border="0" cellpadding="5" cellspacing="0" style="border-collapse: collapse">
8+
<tr>
9+
<td colspan="3"><font face="verdana" size="-1">Template's predefined variables:</font></td>
10+
</tr>
11+
<tr>
12+
<td valign="top"><nobr><font face="verdana" size="-2"><b>${NAMESPACE}</b></font></nobr></td>
13+
<td width="10">&nbsp;</td>
14+
<td width="100%" valign="top"><font face="verdana" size="-1"></font></td>
15+
</tr>
16+
</table>
17+
</body>
18+
</html>
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
<?php
2+
#parse("PHP File Header.php")
3+
4+
namespace ${NAMESPACE};
5+
6+
#set($uses = ${USES})
7+
#foreach ($use in $uses.split(","))
8+
use $use;
9+
#end
10+
11+
/**
12+
* New action ${ENTITY_NAME} controller.
13+
*/
14+
class ${CLASS_NAME} extends ${EXTENDS} implements ${IMPLEMENTS}
15+
{
16+
/**
17+
* Authorization level of a basic admin session.
18+
*
19+
* @see _isAllowed()
20+
*/
21+
const ADMIN_RESOURCE = '${ADMIN_RESOURCE}';
22+
23+
/**
24+
* Create new ${ENTITY_NAME} action.
25+
*
26+
* @return ${RESULT_PAGE}|${RESULT_INTERFACE}
27+
*/
28+
public function execute()
29+
{
30+
/** @var ${RESULT_PAGE} $resultPage */
31+
$resultPage = $this->resultFactory->create(${RESULT_FACTORY}::TYPE_PAGE);
32+
$resultPage->setActiveMenu('${MENU_IDENTIFIER}');
33+
$resultPage->getConfig()->getTitle()->prepend(__('New ${ENTITY_NAME}'));
34+
35+
return $resultPage;
36+
}
37+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<html lang="en">
2+
<body>
3+
<p face="verdana" size="-1">
4+
5+
</p>
6+
7+
<table width="100%" border="0" cellpadding="5" cellspacing="0" style="border-collapse: collapse">
8+
<tr>
9+
<td colspan="3"><font face="verdana" size="-1">Template's predefined variables:</font></td>
10+
</tr>
11+
<tr>
12+
<td valign="top"><nobr><font face="verdana" size="-2"><b>${NAMESPACE}</b></font></nobr></td>
13+
<td width="10">&nbsp;</td>
14+
<td width="100%" valign="top"><font face="verdana" size="-1"></font></td>
15+
</tr>
16+
</table>
17+
</body>
18+
</html>

resources/fileTemplates/internal/Magento Entity Save Controller Class.php.ft

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ class ${CLASS_NAME} extends ${EXTENDS} implements ${IMPLEMENTS}
6666
try {
6767
/** @var ${ENTITY_DTO}|${DATA_OBJECT} $entityModel */
6868
$entityModel = $this->entityDataFactory->create();
69-
$entityModel->addData($params);
69+
$entityModel->addData($params['general']);
7070
$this->saveCommand->execute($entityModel);
7171
$this->messageManager->addSuccessMessage(
7272
__('The ${ENTITY_NAME} data was saved successfully')

0 commit comments

Comments
 (0)