Skip to content

Commit 4ef6d0b

Browse files
committed
Merge remote-tracking branch 'origin/2.2-develop' into 2.2-develop-pr58
2 parents 4b8bafd + d3dcc9d commit 4ef6d0b

File tree

38 files changed

+789
-762
lines changed

38 files changed

+789
-762
lines changed

app/code/Magento/Analytics/Model/Cryptographer.php

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,12 @@ private function getInitializationVector()
124124
*/
125125
private function validateCipherMethod($cipherMethod)
126126
{
127-
$methods = openssl_get_cipher_methods();
127+
$methods = array_map(
128+
'strtolower',
129+
openssl_get_cipher_methods()
130+
);
131+
$cipherMethod = strtolower($cipherMethod);
132+
128133
return (false !== array_search($cipherMethod, $methods));
129134
}
130135
}

app/code/Magento/Bundle/etc/di.xml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,13 @@
140140
</argument>
141141
</arguments>
142142
</type>
143+
<type name="Magento\Sales\Model\Order\ProductOption">
144+
<arguments>
145+
<argument name="processorPool" xsi:type="array">
146+
<item name="bundle" xsi:type="object">Magento\Bundle\Model\ProductOptionProcessor</item>
147+
</argument>
148+
</arguments>
149+
</type>
143150
<type name="Magento\Bundle\Ui\DataProvider\Product\Listing\Collector\BundlePrice">
144151
<arguments>
145152
<argument name="excludeAdjustments" xsi:type="array">

app/code/Magento/Catalog/Model/Category/Link/SaveHandler.php

Lines changed: 7 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -106,27 +106,19 @@ private function getCategoryLinksPositions($entity)
106106
*/
107107
private function mergeCategoryLinks($newCategoryPositions, $oldCategoryPositions)
108108
{
109-
$result = [];
110109
if (empty($newCategoryPositions)) {
111-
return $result;
110+
return [];
112111
}
113112

113+
$categoryPositions = array_combine(array_column($oldCategoryPositions, 'category_id'), $oldCategoryPositions);
114114
foreach ($newCategoryPositions as $newCategoryPosition) {
115-
$key = array_search(
116-
$newCategoryPosition['category_id'],
117-
array_column($oldCategoryPositions, 'category_id')
118-
);
119-
120-
if ($key === false) {
121-
$result[] = $newCategoryPosition;
122-
} elseif (isset($oldCategoryPositions[$key])
123-
&& $oldCategoryPositions[$key]['position'] != $newCategoryPosition['position']
124-
) {
125-
$result[] = $newCategoryPositions[$key];
126-
unset($oldCategoryPositions[$key]);
115+
$categoryId = $newCategoryPosition['category_id'];
116+
if (!isset($categoryPositions[$categoryId])) {
117+
$categoryPositions[$categoryId] = ['category_id' => $categoryId];
127118
}
119+
$categoryPositions[$categoryId]['position'] = $newCategoryPosition['position'];
128120
}
129-
$result = array_merge($result, $oldCategoryPositions);
121+
$result = array_values($categoryPositions);
130122

131123
return $result;
132124
}

app/code/Magento/Catalog/Model/ResourceModel/Product/CategoryLink.php

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -114,16 +114,16 @@ private function getCategoryLinkMetadata()
114114
private function processCategoryLinks($newCategoryPositions, &$oldCategoryPositions)
115115
{
116116
$result = ['changed' => [], 'updated' => []];
117+
118+
$oldCategoryPositions = array_values($oldCategoryPositions);
119+
$oldCategoryList = array_column($oldCategoryPositions, 'category_id');
117120
foreach ($newCategoryPositions as $newCategoryPosition) {
118-
$key = array_search(
119-
$newCategoryPosition['category_id'],
120-
array_column($oldCategoryPositions, 'category_id')
121-
);
121+
$key = array_search($newCategoryPosition['category_id'], $oldCategoryList);
122122

123123
if ($key === false) {
124124
$result['changed'][] = $newCategoryPosition;
125125
} elseif ($oldCategoryPositions[$key]['position'] != $newCategoryPosition['position']) {
126-
$result['updated'][] = $newCategoryPositions[$key];
126+
$result['updated'][] = $newCategoryPosition;
127127
unset($oldCategoryPositions[$key]);
128128
}
129129
}

app/code/Magento/Catalog/Test/Mftf/ActionGroup/AdminProductGridActionGroup.xml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,4 +51,27 @@
5151
<see selector="{{AdminMessagesSection.success}}" userInput="A total of 1 record(s) have been deleted." stepKey="seeSuccessMessage"/>
5252
<conditionalClick selector="{{AdminProductGridFilterSection.clearFilters}}" dependentSelector="{{AdminProductGridFilterSection.clearFilters}}" visible="true" stepKey="clickClearFiltersInitial2"/>
5353
</actionGroup>
54+
55+
<!--Disabled a product by filtering grid and using change status action-->
56+
<actionGroup name="ChangeStatusProductUsingProductGridActionGroup">
57+
<arguments>
58+
<argument name="product"/>
59+
<argument name="status" defaultValue="Enable" type="string" />
60+
</arguments>
61+
<amOnPage url="{{AdminProductIndexPage.url}}" stepKey="visitAdminProductPage"/>
62+
<waitForPageLoad time="60" stepKey="waitForPageLoadInitial"/>
63+
<conditionalClick selector="{{AdminProductGridFilterSection.clearFilters}}" dependentSelector="{{AdminProductGridFilterSection.clearFilters}}" visible="true" stepKey="clickClearFiltersInitial"/>
64+
<click selector="{{AdminProductGridFilterSection.filters}}" stepKey="openProductFilters"/>
65+
<fillField selector="{{AdminProductGridFilterSection.skuFilter}}" userInput="{{product.sku}}" stepKey="fillProductSkuFilter"/>
66+
<click selector="{{AdminProductGridFilterSection.applyFilters}}" stepKey="clickApplyFilters"/>
67+
<see selector="{{AdminProductGridSection.productGridCell('1', 'SKU')}}" userInput="{{product.sku}}" stepKey="seeProductSkuInGrid"/>
68+
<click selector="{{AdminProductGridSection.multicheckDropdown}}" stepKey="openMulticheckDropdown"/>
69+
<click selector="{{AdminProductGridSection.multicheckOption('Select All')}}" stepKey="selectAllProductInFilteredGrid"/>
70+
71+
<click selector="{{AdminProductGridSection.bulkActionDropdown}}" stepKey="clickActionDropdown"/>
72+
<click selector="{{AdminProductGridSection.bulkActionOption('Change status')}}" stepKey="clickChangeStatusAction"/>
73+
<click selector="{{AdminProductGridSection.changeStatus('status')}}" stepKey="clickChangeStatusDisabled" parameterized="true"/>
74+
<see selector="{{AdminMessagesSection.success}}" userInput="A total of 1 record(s) have been updated." stepKey="seeSuccessMessage"/>
75+
<conditionalClick selector="{{AdminProductGridFilterSection.clearFilters}}" dependentSelector="{{AdminProductGridFilterSection.clearFilters}}" visible="true" stepKey="clickClearFiltersInitial2"/>
76+
</actionGroup>
5477
</actionGroups>

app/code/Magento/Catalog/Test/Mftf/Section/AdminProductGridSection.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,5 +26,6 @@
2626
<element name="productGridNameProduct" type="input" selector="//tbody//tr//td//div[contains(., '{{var1}}')]" parameterized="true" timeout="30"/>
2727
<element name="adminImgGridThumbnail" type="text" selector="img.admin__control-thumbnail[src*='/{{var1}}']" parameterized="true"/>
2828
<element name="selectRowBasedOnName" type="input" selector="//td/div[text()='{{var1}}']" parameterized="true"/>
29+
<element name="changeStatus" type="button" selector="//div[contains(@class,'admin__data-grid-header-row') and contains(@class, 'row')]//div[contains(@class, 'action-menu-item')]//ul/li/span[text() = '{{status}}']" parameterized="true"/>
2930
</section>
3031
</sections>

app/code/Magento/Catalog/etc/di.xml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -600,6 +600,13 @@
600600
</argument>
601601
</arguments>
602602
</type>
603+
<type name="Magento\Sales\Model\Order\ProductOption">
604+
<arguments>
605+
<argument name="processorPool" xsi:type="array">
606+
<item name="custom_options" xsi:type="object">Magento\Catalog\Model\ProductOptionProcessor</item>
607+
</argument>
608+
</arguments>
609+
</type>
603610
<type name="Magento\Framework\Model\Entity\RepositoryFactory">
604611
<arguments>
605612
<argument name="entities" xsi:type="array">

app/code/Magento/ConfigurableProduct/etc/di.xml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,13 @@
125125
</argument>
126126
</arguments>
127127
</type>
128+
<type name="Magento\Sales\Model\Order\ProductOption">
129+
<arguments>
130+
<argument name="processorPool" xsi:type="array">
131+
<item name="configurable" xsi:type="object">Magento\ConfigurableProduct\Model\ProductOptionProcessor</item>
132+
</argument>
133+
</arguments>
134+
</type>
128135
<virtualType name="ConfigurableFinalPriceResolver" type="Magento\ConfigurableProduct\Pricing\Price\ConfigurablePriceResolver">
129136
<arguments>
130137
<argument name="priceResolver" xsi:type="object">Magento\ConfigurableProduct\Pricing\Price\FinalPriceResolver</argument>

app/code/Magento/Downloadable/etc/di.xml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,13 @@
7777
</argument>
7878
</arguments>
7979
</type>
80+
<type name="Magento\Sales\Model\Order\ProductOption">
81+
<arguments>
82+
<argument name="processorPool" xsi:type="array">
83+
<item name="downloadable" xsi:type="object">Magento\Downloadable\Model\ProductOptionProcessor</item>
84+
</argument>
85+
</arguments>
86+
</type>
8087
<preference for="Magento\Downloadable\Api\LinkRepositoryInterface" type="Magento\Downloadable\Model\LinkRepository" />
8188
<preference for="Magento\Downloadable\Api\SampleRepositoryInterface" type="Magento\Downloadable\Model\SampleRepository" />
8289
<preference for="Magento\Downloadable\Api\Data\LinkInterface" type="Magento\Downloadable\Model\Link" />

app/code/Magento/Quote/Test/Mftf/ActionGroup/ChangeStatusProductUsingProductGridActionGroup.xml

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

0 commit comments

Comments
 (0)