Skip to content

Commit 5dec870

Browse files
merge magento-commerce/2.4.1-develop into magento-honey-badgers/MC-36897
2 parents 757bcb6 + 1c3fb55 commit 5dec870

File tree

13 files changed

+221
-3
lines changed

13 files changed

+221
-3
lines changed

app/code/Magento/Email/Block/Adminhtml/Template/Preview.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ protected function _toHtml()
6767
$template->setTemplateType($request->getParam('type'));
6868
$template->setTemplateText($request->getParam('text'));
6969
$template->setTemplateStyles($request->getParam('styles'));
70+
$template->setData('is_legacy', false);
7071
}
7172

7273
\Magento\Framework\Profiler::start($this->profilerName);

app/code/Magento/Email/Model/AbstractTemplate.php

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -361,8 +361,15 @@ public function getProcessedTemplate(array $variables = [])
361361
$variables = $this->addEmailVariables($variables, $storeId);
362362
$processor->setVariables($variables);
363363

364+
// Type legacy id strict
365+
// db legacy true numeric false
366+
// db new false numeric true
367+
// filesystem false string false
368+
// preview false null true
369+
$isLegacy = $this->getData('is_legacy');
370+
$templateId = $this->getTemplateId();
364371
$previousStrictMode = $processor->setStrictMode(
365-
!$this->getData('is_legacy') && is_numeric($this->getTemplateId())
372+
!$isLegacy && (is_numeric($templateId) || empty($templateId))
366373
);
367374

368375
try {
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!--
3+
/**
4+
* Copyright © Magento, Inc. All rights reserved.
5+
* See COPYING.txt for license details.
6+
*/
7+
-->
8+
9+
<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
11+
<actionGroup name="PrepareDraftCustomTemplateActionGroup" extends="CreateNewTemplateActionGroup">
12+
<arguments>
13+
<argument name="template" defaultValue="EmailTemplate"/>
14+
</arguments>
15+
<remove keyForRemoval="selectValueFromTemplateDropDown"/>
16+
<remove keyForRemoval="clickLoadTemplateButton"/>
17+
<remove keyForRemoval="clickSaveTemplateButton"/>
18+
<remove keyForRemoval="waitForSuccessMessage"/>
19+
<remove keyForRemoval="seeSuccessMessage"/>
20+
21+
<fillField selector="{{AdminEmailTemplateEditSection.templateSubject}}" userInput="{{template.templateSubject}}" after="fillTemplateNameField" stepKey="fillTemplateSubject"/>
22+
<fillField selector="{{AdminEmailTemplateEditSection.templateText}}" userInput="{{template.templateText}}" after="fillTemplateSubject" stepKey="fillTemplateText"/>
23+
</actionGroup>
24+
25+
</actionGroups>

app/code/Magento/Email/Test/Mftf/Data/EmailTemplateData.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,10 @@
1313
<data key="templateSubject" unique="suffix">Template Subject_</data>
1414
<data key="templateText" unique="suffix">Template Text_</data>
1515
</entity>
16+
<entity name="EmailTemplateWithDirectives" type="template">
17+
<data key="templateName" unique="suffix">Template</data>
18+
<data key="templateSubject" unique="suffix">Template Subject_</data>
19+
<data key="templateText">Template {{var this.template_id}}:{{var this.getData(template_id)}} Text</data>
20+
<data key="expectedTemplate">Template : Text</data>
21+
</entity>
1622
</entities>
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!--
3+
/**
4+
* Copyright © Magento, Inc. All rights reserved.
5+
* See COPYING.txt for license details.
6+
*/
7+
-->
8+
9+
<tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd">
11+
<test name="AdminEmailTemplatePreviewAsDraftWithDirectivesTest">
12+
<annotations>
13+
<features value="Email"/>
14+
<stories value="Create email template with directives and preview as draft"/>
15+
<title value="Check email template preview with directives and preview as draft"/>
16+
<description value="Check if email template preview works correctly with directives in draft mode"/>
17+
<severity value="CRITICAL"/>
18+
<useCaseId value="MC-23058"/>
19+
<group value="email"/>
20+
<group value="WYSIWYGDisabled"/>
21+
<stories value="Email Template Preview"/>
22+
</annotations>
23+
24+
<before>
25+
<actionGroup ref="AdminLoginActionGroup" stepKey="loginToAdminArea"/>
26+
</before>
27+
28+
<after>
29+
<actionGroup ref="AdminLogoutActionGroup" stepKey="logoutOfAdmin"/>
30+
</after>
31+
32+
<actionGroup ref="PrepareDraftCustomTemplateActionGroup" stepKey="createDraftTemplate">
33+
<argument name="template" value="EmailTemplateWithDirectives"/>
34+
</actionGroup>
35+
36+
<click selector="{{AdminEmailTemplateEditSection.previewTemplateButton}}" stepKey="clickPreviewTemplate"/>
37+
<switchToNextTab stepKey="switchToPreviewTab"/>
38+
<seeInCurrentUrl url="{{AdminEmailTemplatePreviewPage.url}}" stepKey="seePreviewInUrl"/>
39+
<seeElement selector="{{AdminEmailTemplatePreviewSection.iframe}}" stepKey="seeIframeOnPage"/>
40+
<switchToIFrame userInput="preview_iframe" stepKey="switchToIframe"/>
41+
<waitForPageLoad stepKey="waitForPreviewLoaded"/>
42+
43+
<actionGroup ref="AssertEmailTemplateContentActionGroup" stepKey="assertContent">
44+
<argument name="expectedContent" value="{{EmailTemplateWithDirectives.expectedTemplate}}"/>
45+
</actionGroup>
46+
</test>
47+
</tests>

app/code/Magento/Email/Test/Mftf/Test/AdminEmailTemplatePreviewTest.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
<testCaseId value="MC-15794"/>
1919
<useCaseId value="MC-11050"/>
2020
<group value="email"/>
21+
<group value="WYSIWYGDisabled"/>
2122
</annotations>
2223

2324
<before>
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!--
3+
/**
4+
* Copyright © Magento, Inc. All rights reserved.
5+
* See COPYING.txt for license details.
6+
*/
7+
-->
8+
9+
<tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd">
11+
<test name="AdminEmailTemplatePreviewWithDirectivesTest">
12+
<annotations>
13+
<features value="Email"/>
14+
<stories value="Create email template with directives"/>
15+
<title value="Check email template preview with directives"/>
16+
<description value="Check if email template preview works correctly with directives"/>
17+
<severity value="CRITICAL"/>
18+
<useCaseId value="MC-23058"/>
19+
<group value="email"/>
20+
<group value="WYSIWYGDisabled"/>
21+
<stories value="Email Template Preview"/>
22+
</annotations>
23+
24+
<before>
25+
<!--Login to Admin Area-->
26+
<actionGroup ref="AdminLoginActionGroup" stepKey="loginToAdminArea"/>
27+
</before>
28+
29+
<after>
30+
<!--Delete created Template-->
31+
<actionGroup ref="DeleteEmailTemplateActionGroup" stepKey="deleteTemplate"/>
32+
<click selector="{{AdminDataGridHeaderSection.clearFilters}}" stepKey="clearFilters"/>
33+
<!--Logout from Admin Area-->
34+
<actionGroup ref="AdminLogoutActionGroup" stepKey="logoutOfAdmin"/>
35+
</after>
36+
37+
<actionGroup ref="CreateCustomTemplateActionGroup" stepKey="createTemplate">
38+
<argument name="template" value="EmailTemplateWithDirectives"/>
39+
</actionGroup>
40+
<actionGroup ref="PreviewEmailTemplateActionGroup" stepKey="previewTemplate"/>
41+
<actionGroup ref="AssertEmailTemplateContentActionGroup" stepKey="assertContent">
42+
<argument name="expectedContent" value="{{EmailTemplateWithDirectives.expectedTemplate}}"/>
43+
</actionGroup>
44+
</test>
45+
</tests>

app/code/Magento/Newsletter/Block/Adminhtml/Queue/Preview.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ protected function loadTemplate(\Magento\Newsletter\Model\Template $template, $i
5656
$template->setTemplateType($queue->getNewsletterType());
5757
$template->setTemplateText($queue->getNewsletterText());
5858
$template->setTemplateStyles($queue->getNewsletterStyles());
59+
$template->setData('is_legacy', false);
5960

6061
return $this;
6162
}

app/code/Magento/Newsletter/Block/Adminhtml/Template/Preview.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ protected function _toHtml()
6565
$template->setTemplateType($previewData['type']);
6666
$template->setTemplateText($previewData['text']);
6767
$template->setTemplateStyles($previewData['styles']);
68+
$template->setData('is_legacy', false);
6869
}
6970

7071
\Magento\Framework\Profiler::start($this->profilerName);

app/code/Magento/Newsletter/view/adminhtml/templates/preview/iframeswitcher.phtml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
frameborder="0"
2323
title="<?= $block->escapeHtmlAttr(__('Preview')) ?>"
2424
width="100%"
25-
sandbox="allow-forms allow-pointer-lock"
25+
sandbox="allow-forms allow-pointer-lock allow-same-origin"
2626
>
2727

2828
</iframe>

0 commit comments

Comments
 (0)