Skip to content

Commit 3a4ba66

Browse files
authored
Merge pull request #3837 from magento-epam/EPAM-PR-42
MAGETWO-62411 [Github] Cannot save product because of required attribute within Advanced pricing #7735 MAGETWO-57337 [Github] #5077 Store View (language) switch leads to 404
2 parents 7d0efc5 + 6ed899d commit 3a4ba66

File tree

6 files changed

+41
-8
lines changed

6 files changed

+41
-8
lines changed

app/code/Magento/Catalog/Ui/DataProvider/Product/Form/Modifier/AdvancedPricing.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -389,6 +389,9 @@ private function addAdvancedPriceLink()
389389
'componentType' => Container::NAME,
390390
'component' => 'Magento_Ui/js/form/components/button',
391391
'template' => 'ui/form/components/button/container',
392+
'imports' => [
393+
'childError' => $this->scopeName . '.advanced_pricing_modal.advanced-pricing:error',
394+
],
392395
'actions' => [
393396
[
394397
'targetName' => $this->scopeName . '.advanced_pricing_modal',

app/code/Magento/Cms/Test/Mftf/Test/StoreViewLanguageCorrectSwitchTest.xml

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,12 @@
1111
<test name="StoreViewLanguageCorrectSwitchTest">
1212
<annotations>
1313
<features value="Cms"/>
14-
<stories value="Store View (language) switch leads to 404"/>
15-
<group value="Cms"/>
1614
<title value="Check that Store View(language) switches correct"/>
1715
<description value="Check that Store View(language) switches correct"/>
1816
<severity value="MAJOR"/>
1917
<testCaseId value="MAGETWO-96388"/>
2018
<useCaseId value="MAGETWO-57337"/>
19+
<group value="Cms"/>
2120
</annotations>
2221
<before>
2322
<actionGroup ref="LoginAsAdmin" stepKey="loginAsAdmin"/>
@@ -37,7 +36,7 @@
3736

3837
<!-- Create StoreView -->
3938
<actionGroup ref="AdminCreateStoreViewActionGroup" stepKey="createStoreView">
40-
<argument name="customStore" value="NewStoreViewData"/>
39+
<argument name="customStore" value="NewStoreViewData"/>
4140
</actionGroup>
4241

4342
<!-- Add StoreView To Cms Page-->
@@ -51,10 +50,18 @@
5150
<see userInput="$$createFirstCmsPage.title$$" stepKey="seePageTitle"/>
5251

5352
<!-- Switch StoreView and check that Cms Page is open -->
54-
<click selector="{{StorefrontHeaderSection.storeViewSwitcher}}" stepKey="clickStoreViewSwitcher"/>
55-
<waitForElementVisible selector="{{StorefrontHeaderSection.storeViewDropdown}}" stepKey="waitForStoreViewDropDown"/>
56-
<click selector="{{StorefrontHeaderSection.storeViewOption(NewStoreViewData.code)}}" stepKey="selectStoreView"/>
53+
<actionGroup ref="StorefrontSwitchStoreViewActionGroup" stepKey="switchToCustomStoreView">
54+
<argument name="storeView" value="NewStoreViewData"/>
55+
</actionGroup>
5756
<amOnPage url="{{StorefrontHomePage.url}}/$$createSecondCmsPage.identifier$$" stepKey="gotToSecondCmsPage"/>
5857
<see userInput="$$createSecondCmsPage.title$$" stepKey="seePageTitle1"/>
58+
59+
<!--Open first Cms page on custom store view-->
60+
<amOnPage url="{{StorefrontHomePage.url}}/$$createFirstCmsPage.identifier$$" stepKey="gotToFirstCmsPage1"/>
61+
<see userInput="Whoops, our bad..." stepKey="seePageError"/>
62+
63+
<!--Switch to default store view and check Cms page-->
64+
<actionGroup ref="StorefrontSwitchDefaultStoreViewActionGroup" stepKey="switchToDefualtStoreView"/>
65+
<see userInput="$$createFirstCmsPage.title$$" stepKey="seePageTitle2"/>
5966
</test>
6067
</tests>

app/code/Magento/Store/Test/Mftf/ActionGroup/StorefrontSwitchStoreViewActionGroup.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,9 @@
1717
<click selector="{{StorefrontHeaderSection.storeViewOption(storeView.code)}}" stepKey="clickSelectStoreView"/>
1818
<waitForPageLoad stepKey="waitForPageLoad"/>
1919
</actionGroup>
20+
21+
<actionGroup name="StorefrontSwitchDefaultStoreViewActionGroup" extends="StorefrontSwitchStoreViewActionGroup">
22+
<remove keyForRemoval="clickSelectStoreView"/>
23+
<click selector="{{StorefrontHeaderSection.storeViewOption('default')}}" stepKey="clickSelectDefaultStoreView" after="waitForStoreViewDropdown"/>
24+
</actionGroup>
2025
</actionGroups>

app/code/Magento/Ui/view/base/web/js/form/components/button.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,8 @@ define([
4545
.observe([
4646
'visible',
4747
'disabled',
48-
'title'
48+
'title',
49+
'childError'
4950
]);
5051
},
5152

app/code/Magento/Ui/view/base/web/templates/form/element/button.html

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,15 @@
1111
attr="'data-index': index">
1212
<span text="title"/>
1313
</button>
14+
15+
<if args="childError">
16+
<strong class="_error">
17+
<span class="admin__page-nav-item-messages">
18+
<span class="admin__page-nav-item-message _error">
19+
<span class="admin__page-nav-item-message-icon"></span>
20+
<span class="admin__page-nav-item-message-tooltip"
21+
data-bind="i18n: 'This element contains invalid data. Please resolve this before saving.'">This element contains invalid data. Please resolve this before saving.</span>
22+
</span>
23+
</span>
24+
</strong>
25+
</if>

app/code/Magento/UrlRewrite/Model/StoreSwitcher/RewriteUrl.php

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,12 @@ public function switch(StoreInterface $fromStore, StoreInterface $targetStore, s
8181
$existingRewrite = $this->urlFinder->findOneByData([
8282
UrlRewrite::REQUEST_PATH => $urlPath
8383
]);
84-
if ($existingRewrite) {
84+
$currentRewrite = $this->urlFinder->findOneByData([
85+
UrlRewrite::REQUEST_PATH => $urlPath,
86+
UrlRewrite::STORE_ID => $targetStore->getId(),
87+
]);
88+
89+
if ($existingRewrite && !$currentRewrite) {
8590
/** @var \Magento\Framework\App\Response\Http $response */
8691
$targetUrl = $targetStore->getBaseUrl();
8792
}

0 commit comments

Comments
 (0)