Skip to content

Commit f7a552f

Browse files
authored
Merge pull request #934 from magento-engcom/develop-prs-isolated
[EngCom] Public Pull Requests
2 parents 16bbf9d + d906d6c commit f7a552f

File tree

10 files changed

+71
-32
lines changed

10 files changed

+71
-32
lines changed
Loading

app/code/Magento/CatalogSearch/Model/Layer/Filter/Attribute.php

Lines changed: 60 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ public function __construct(
5353
public function apply(\Magento\Framework\App\RequestInterface $request)
5454
{
5555
$attributeValue = $request->getParam($this->_requestVar);
56-
if (empty($attributeValue)) {
56+
if (empty($attributeValue) && !is_numeric($attributeValue)) {
5757
return $this;
5858
}
5959
$attribute = $this->getAttributeModel();
@@ -84,9 +84,10 @@ protected function _getItemsData()
8484
->getProductCollection();
8585
$optionsFacetedData = $productCollection->getFacetedData($attribute->getAttributeCode());
8686

87-
if (count($optionsFacetedData) === 0
88-
&& $this->getAttributeIsFilterable($attribute) !== static::ATTRIBUTE_OPTIONS_ONLY_WITH_RESULTS
89-
) {
87+
$isAttributeFilterable =
88+
$this->getAttributeIsFilterable($attribute) === static::ATTRIBUTE_OPTIONS_ONLY_WITH_RESULTS;
89+
90+
if (count($optionsFacetedData) === 0 && !$isAttributeFilterable) {
9091
return $this->itemDataBuilder->build();
9192
}
9293

@@ -95,28 +96,64 @@ protected function _getItemsData()
9596
$options = $attribute->getFrontend()
9697
->getSelectOptions();
9798
foreach ($options as $option) {
98-
if (empty($option['value'])) {
99-
continue;
100-
}
99+
$this->buildOptionData($option, $isAttributeFilterable, $optionsFacetedData, $productSize);
100+
}
101101

102-
$value = $option['value'];
102+
return $this->itemDataBuilder->build();
103+
}
103104

104-
$count = isset($optionsFacetedData[$value]['count'])
105-
? (int)$optionsFacetedData[$value]['count']
106-
: 0;
107-
// Check filter type
108-
if ($this->getAttributeIsFilterable($attribute) === static::ATTRIBUTE_OPTIONS_ONLY_WITH_RESULTS
109-
&& (!$this->isOptionReducesResults($count, $productSize) || $count === 0)
110-
) {
111-
continue;
112-
}
113-
$this->itemDataBuilder->addItemData(
114-
$this->tagFilter->filter($option['label']),
115-
$value,
116-
$count
117-
);
105+
/**
106+
* Build option data
107+
*
108+
* @param array $option
109+
* @param boolean $isAttributeFilterable
110+
* @param array $optionsFacetedData
111+
* @param int $productSize
112+
* @return void
113+
*/
114+
private function buildOptionData($option, $isAttributeFilterable, $optionsFacetedData, $productSize)
115+
{
116+
$value = $this->getOptionValue($option);
117+
if ($value === false) {
118+
return;
119+
}
120+
$count = $this->getOptionCount($value, $optionsFacetedData);
121+
if ($isAttributeFilterable && (!$this->isOptionReducesResults($count, $productSize) || $count === 0)) {
122+
return;
118123
}
119124

120-
return $this->itemDataBuilder->build();
125+
$this->itemDataBuilder->addItemData(
126+
$this->tagFilter->filter($option['label']),
127+
$value,
128+
$count
129+
);
130+
}
131+
132+
/**
133+
* Retrieve option value if it exists
134+
*
135+
* @param array $option
136+
* @return bool|string
137+
*/
138+
private function getOptionValue($option)
139+
{
140+
if (empty($option['value']) && !is_numeric($option['value'])) {
141+
return false;
142+
}
143+
return $option['value'];
144+
}
145+
146+
/**
147+
* Retrieve count of the options
148+
*
149+
* @param int|string $value
150+
* @param array $optionsFacetedData
151+
* @return int
152+
*/
153+
private function getOptionCount($value, $optionsFacetedData)
154+
{
155+
return isset($optionsFacetedData[$value]['count'])
156+
? (int)$optionsFacetedData[$value]['count']
157+
: 0;
121158
}
122159
}

app/code/Magento/Directory/view/adminhtml/templates/js/optional_zip_countries.phtml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ function setPostcodeOptional(zipElement, country) {
4040
zipElement.removeClassName('required-entry');
4141
}
4242
zipElement.up('div.field').removeClassName('required');
43+
zipElement.up('div.field').removeClassName('_required');
4344
} else {
4445
zipElement.addClassName('required-entry');
4546
zipElement.up('div.field').addClassName('required');

app/code/Magento/ImportExport/Model/Import/ErrorProcessing/ProcessingErrorAggregator.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -325,6 +325,7 @@ public function clear()
325325
$this->items = [];
326326
$this->errorStatistics = [];
327327
$this->invalidRows = [];
328+
$this->skippedRows = [];
328329

329330
return $this;
330331
}

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
*/
77
-->
88
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
9-
<preference for="Magento\Framework\Module\ModuleListInterface" type="Magento\Framework\Module\ModuleList" />
109
<type name="Magento\NewRelicReporting\Model\Module\Collect">
1110
<arguments>
1211
<argument name="fullModuleList" xsi:type="object">Magento\Framework\Module\FullModuleList</argument>

app/code/Magento/Quote/Model/Quote.php

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1626,10 +1626,11 @@ public function addProduct(
16261626

16271627
// collect errors instead of throwing first one
16281628
if ($item->getHasError()) {
1629-
$message = $item->getMessage();
1630-
if (!in_array($message, $errors)) {
1631-
// filter duplicate messages
1632-
$errors[] = $message;
1629+
foreach ($item->getMessage(false) as $message) {
1630+
if (!in_array($message, $errors)) {
1631+
// filter duplicate messages
1632+
$errors[] = $message;
1633+
}
16331634
}
16341635
}
16351636
}

app/code/Magento/Sales/view/adminhtml/templates/order/create/billing/method/form.phtml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232

3333
<label class="admin__field-label" for="p_method_<?php /* @escapeNotVerified */ echo $_code ?>"><?php echo $block->escapeHtml($_method->getTitle()) ?></label>
3434
</dt>
35-
<dd class="admin__payment-method-wapper">
35+
<dd class="admin__payment-method-wrapper">
3636
<?php /* @escapeNotVerified */ echo $block->getChildHtml('payment.method.' . $_code) ?>
3737
</dd>
3838
<?php endforeach; ?>

app/code/Magento/Swatches/Helper/Data.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -429,7 +429,7 @@ public function getSwatchesByOptionsId(array $optionIds)
429429
foreach ($swatchCollection as $item) {
430430
if ($item['type'] != Swatch::SWATCH_TYPE_TEXTUAL) {
431431
$swatches[$item['option_id']] = $item->getData();
432-
} elseif ($item['store_id'] == $currentStoreId && $item['value']) {
432+
} elseif ($item['store_id'] == $currentStoreId && $item['value'] != '') {
433433
$fallbackValues[$item['option_id']][$currentStoreId] = $item->getData();
434434
} elseif ($item['store_id'] == self::DEFAULT_STORE_ID) {
435435
$fallbackValues[$item['option_id']][self::DEFAULT_STORE_ID] = $item->getData();

app/code/Magento/Swatches/Model/Plugin/EavAttribute.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -444,7 +444,7 @@ protected function isOptionsValid(array $options, Attribute $attribute)
444444
if ($this->isOptionForDelete($attribute, $optionId)) {
445445
continue;
446446
}
447-
if (empty($option[0])) {
447+
if (!isset($option[0]) || $option[0] === '') {
448448
return false;
449449
}
450450
}

app/design/adminhtml/Magento/backend/Magento_Sales/web/css/source/module/order/_payment-shipping.less

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
// Order Payment & Shipping Information
88
// ---------------------------------------------
99

10-
.admin__payment-method-wapper {
10+
.admin__payment-method-wrapper {
1111
margin: 0;
1212
.admin__field {
1313
margin-left: 0;

0 commit comments

Comments
 (0)