Skip to content

Commit 7869627

Browse files
Merge pull request #998 from doninAtwix/993-new-context-email-templates-xml-file-action
993: Added email_templates.xml file in context generation.
2 parents c26994e + d5de3e3 commit 7869627

File tree

2 files changed

+60
-0
lines changed

2 files changed

+60
-0
lines changed

resources/META-INF/plugin.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@
7272
<action id="MagentoCreateViewFile" class="com.magento.idea.magento2plugin.actions.context.xml.NewViewXmlAction"/>
7373
<action id="MagentoCreateFieldsetFile" class="com.magento.idea.magento2plugin.actions.context.xml.NewFieldsetXmlAction"/>
7474
<action id="MagentoCreateSectionsFile" class="com.magento.idea.magento2plugin.actions.context.xml.NewSectionsXmlAction"/>
75+
<action id="MagentoCreateEmailTemplatesFile" class="com.magento.idea.magento2plugin.actions.context.xml.NewEmailTemplatesXmlAction"/>
7576
<!-- Context dependent actions -->
7677
<separator/>
7778
<add-to-group group-id="NewGroup" anchor="before" relative-to-action="NewXml"/>
@@ -583,6 +584,7 @@
583584
<internalFileTemplate name="Magento View XML"/>
584585
<internalFileTemplate name="Magento Fieldset XML"/>
585586
<internalFileTemplate name="Magento Sections XML"/>
587+
<internalFileTemplate name="Magento Module Email Templates Xml"/>
586588

587589
<defaultLiveTemplates file="/liveTemplates/MagentoPWA.xml"/>
588590

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
/*
2+
* Copyright © Magento, Inc. All rights reserved.
3+
* See COPYING.txt for license details.
4+
*/
5+
6+
package com.magento.idea.magento2plugin.actions.context.xml;
7+
8+
import com.intellij.ide.fileTemplates.actions.AttributesDefaults;
9+
import com.intellij.psi.PsiDirectory;
10+
import com.intellij.psi.PsiFile;
11+
import com.magento.idea.magento2plugin.actions.context.AbstractContextAction;
12+
import com.magento.idea.magento2plugin.magento.files.EmailTemplatesXml;
13+
import com.magento.idea.magento2plugin.magento.packages.ComponentType;
14+
import com.magento.idea.magento2plugin.magento.packages.Package;
15+
import com.magento.idea.magento2plugin.util.magento.GetMagentoModuleUtil;
16+
import org.jetbrains.annotations.NotNull;
17+
18+
public class NewEmailTemplatesXmlAction extends AbstractContextAction {
19+
20+
public static final String ACTION_NAME = "Magento 2 Email Templates File";
21+
public static final String ACTION_DESCRIPTION =
22+
"Create a new Magento 2 email_templates.xml file";
23+
24+
/**
25+
* New email_templates.xml file generation action constructor.
26+
*/
27+
public NewEmailTemplatesXmlAction() {
28+
super(ACTION_NAME, ACTION_DESCRIPTION, new EmailTemplatesXml());
29+
}
30+
31+
@Override
32+
protected boolean isVisible(
33+
final @NotNull GetMagentoModuleUtil.MagentoModuleData moduleData,
34+
final @NotNull PsiDirectory targetDirectory,
35+
final PsiFile targetFile
36+
) {
37+
final PsiDirectory configDir = moduleData.getConfigDir();
38+
39+
if (configDir == null) {
40+
return false;
41+
}
42+
43+
return targetDirectory.getName().equals(Package.moduleBaseAreaDir)
44+
&& targetDirectory.equals(configDir)
45+
&& moduleData.getType().equals(ComponentType.module);
46+
}
47+
48+
49+
@Override
50+
protected AttributesDefaults getProperties(
51+
final @NotNull AttributesDefaults defaults,
52+
final @NotNull GetMagentoModuleUtil.MagentoModuleData moduleData,
53+
final PsiDirectory targetDirectory,
54+
final PsiFile targetFile
55+
) {
56+
return defaults;
57+
}
58+
}

0 commit comments

Comments
 (0)