Skip to content

Commit

Permalink
Merge branch 'master' into feature_refactoring-virtual-category-backend
Browse files Browse the repository at this point in the history
  • Loading branch information
afoucret authored Apr 26, 2018
2 parents 2c5a914 + bd862e6 commit 0ab432a
Show file tree
Hide file tree
Showing 9 changed files with 42 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -90,12 +90,12 @@ public function apply(\Magento\Framework\App\RequestInterface $request)
$attributeValue = [$attributeValue];
}

$this->currentFilterValue = $attributeValue;
$this->currentFilterValue = array_values($attributeValue);

/** @var \Magento\CatalogSearch\Model\ResourceModel\Fulltext\Collection $productCollection */
$productCollection = $this->getLayer()->getProductCollection();

$productCollection->addFieldToFilter($this->getFilterField(), $attributeValue);
$productCollection->addFieldToFilter($this->getFilterField(), $this->currentFilterValue);
$layerState = $this->getLayer()->getState();

foreach ($this->currentFilterValue as $currentFilter) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ define([
showSpinner: true,
template: "Smile_ElasticsuiteCatalog/form/element/product-sorter",
refreshFields: {},
excludedPreviewFields : {},
maxRefreshInterval: 1000,
imports: {
formData: "${ $.provider }:data",
Expand Down Expand Up @@ -68,6 +69,18 @@ define([
}
},

prepareFormData: function(formData) {
if (this.excludedPreviewFields) {
Object.keys(this.excludedPreviewFields).each (function (fieldName) {
if (formData.hasOwnProperty(fieldName) && formData[fieldName] !== null) {
formData[fieldName] = null;
}
});
}

return formData;
},

updateImports: function (config) {
if (config.refreshFields) {
Object.keys(config.refreshFields).each (function (fieldName) {
Expand All @@ -89,7 +102,7 @@ define([
this.loading(true);

this.refreshRateLimiter = setTimeout(function () {
var formData = this.formData;
var formData = this.prepareFormData(this.formData);
Object.keys(this.editPositions()).forEach(function (productId) {
formData['product_position[' + productId + ']'] = this.editPositions()[productId];
}.bind(this));
Expand Down
2 changes: 1 addition & 1 deletion src/module-elasticsuite-core/Model/Search.php
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
* @package Smile\ElasticsuiteCore
* @author Aurelien FOUCRET <[email protected]>
*/
class Search implements \Magento\Framework\Api\Search\SearchInterface
class Search implements \Magento\Search\Api\SearchInterface
{
/**
* @var \Smile\ElasticsuiteCore\Model\Search\RequestBuilder
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ public function getFilters(ContainerConfigurationInterface $containerConfigurati
$filters = [];

foreach ($searchCriteria->getFilterGroups() ?? [] as $filterGroup) {
foreach ($filterGroup->getFilters() as $filter) {
foreach ($filterGroup->getFilters() ?? [] as $filter) {
if ($filter->getField() != "search_term") {
$filters[$filter->getField()] = [$filter->getConditionType() => $filter->getValue()];
}
Expand Down
16 changes: 16 additions & 0 deletions src/module-elasticsuite-core/etc/di.xml
Original file line number Diff line number Diff line change
Expand Up @@ -407,4 +407,20 @@
</arguments>
</type>

<!-- Sensitive / Environment Specific Configuration fields handling -->
<type name="Magento\Config\Model\Config\TypePool">
<arguments>
<argument name="environment" xsi:type="array">
<item name="smile_elasticsuite_core_base_settings/es_client/servers" xsi:type="string">1</item>
<item name="smile_elasticsuite_core_base_settings/es_client/enable_https_mode" xsi:type="string">1</item>
<item name="smile_elasticsuite_core_base_settings/es_client/enable_http_auth" xsi:type="string">1</item>
<item name="smile_elasticsuite_core_base_settings/es_client/http_auth_user" xsi:type="string">1</item>
<item name="smile_elasticsuite_core_base_settings/es_client/http_auth_pwd" xsi:type="string">1</item>
</argument>
<argument name="sensitive" xsi:type="array">
<item name="smile_elasticsuite_core_base_settings/es_client/http_auth_user" xsi:type="string">1</item>
<item name="smile_elasticsuite_core_base_settings/es_client/http_auth_pwd" xsi:type="string">1</item>
</argument>
</arguments>
</type>
</config>
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@
<field name="price.is_discount" type="boolean" nestedPath="price"/>
<field name="price.customer_group_id" type="integer" nestedPath="price"/>

<!-- Static fields handled by the "prices" datasource -->
<!-- Static fields handled by the "categories" datasource -->
<field name="category.category_id" type="integer" nestedPath="category"/>
<field name="category.position" type="integer" nestedPath="category"/>
<field name="category.is_parent" type="boolean" nestedPath="category"/>
Expand Down
2 changes: 1 addition & 1 deletion src/module-elasticsuite-tracker/Model/SessionIndex.php
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ private function getSessionIdsByStore($events)
$sessionIdsByStore = [];

foreach ($events as $event) {
if (isset($event['page']['store_id'])) {
if (isset($event['page']['store_id']) && isset($event['session']['uid'])) {
$sessionIdsByStore[$event['page']['store_id']][] = $event['session']['uid'] ?? 0;
}
}
Expand Down
2 changes: 2 additions & 0 deletions src/module-elasticsuite-virtual-category/Model/Rule.php
Original file line number Diff line number Diff line change
Expand Up @@ -352,6 +352,8 @@ private function getRootCategoryId($store)
{
if (is_numeric($store) || is_string($store)) {
$store = $this->storeManager->getStore($store);
} elseif ($store === null) {
$store = $this->storeManager->getStore();
}

$storeGroupId = $store->getStoreGroupId();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -153,6 +153,10 @@
<item name="selected_products.added_products" xsi:type="string">selected_products.added_products</item>
<item name="selected_products.deleted_products" xsi:type="string">selected_products.deleted_products</item>
</item>
<item name="excludedPreviewFields" xsi:type="array">
<item name="facet_config" xsi:type="string">facet_config</item>
<item name="facet_config_order" xsi:type="string">facet_config_order</item>
</item>
<item name="imports" xsi:type="array">
<item name="loadUrl" xsi:type="string">${ $.provider }:data.product_sorter_load_url</item>
<item name="priceFormat" xsi:type="string">${ $.provider }:data.price_format</item>
Expand Down

0 comments on commit 0ab432a

Please sign in to comment.