Skip to content
This repository has been archived by the owner on Dec 19, 2019. It is now read-only.

Commit

Permalink
Merge branch '2.3-develop' into mutations-coupons
Browse files Browse the repository at this point in the history
  • Loading branch information
rogyar committed Sep 17, 2018
2 parents 9cb459e + ca42048 commit 02c2bc0
Show file tree
Hide file tree
Showing 2,457 changed files with 76,752 additions and 33,126 deletions.
33 changes: 33 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
---
name: Bug report
about: Technical issue with the Magento 2 core components

---

<!---
Please review our guidelines before adding a new issue: https://github.com/magento/magento2/wiki/Issue-reporting-guidelines
-->

### Preconditions
<!---
Provide the exact Magento version (example: 2.2.5) and any important information on the environment where bug is reproducible.
-->
1.
2.

### Steps to reproduce
<!---
Important: Provide a set of clear steps to reproduce this bug. We can not provide support without clear instructions on how to reproduce.
-->
1.
2.

### Expected result
<!--- Tell us what do you expect to happen. -->
1. [Screenshots, logs or description]
2.

### Actual result
<!--- Tell us what happened instead. Include error messages and issues. -->
1. [Screenshots, logs or description]
2.
18 changes: 18 additions & 0 deletions .github/ISSUE_TEMPLATE/developer-experience-issue.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
---
name: Developer experience issue
about: Issues related to customization, extensibility, modularity

---

<!---
Please review our guidelines before adding a new issue: https://github.com/magento/magento2/wiki/Issue-reporting-guidelines
-->

### Summary
<!--- Describe the issue you are experiencing. Include general information, error messages, environments, and so on. -->

### Examples
<!--- Provide code examples or a patch with a test (recommended) to clearly indicate the problem. -->

### Proposed solution
<!--- Suggest your potential solutions for this issue. -->
21 changes: 21 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
---
name: Feature request
about: Please consider reporting directly to https://github.com/magento/community-features

---

<!---
Important: This repository is intended only for Magento 2 Technical Issues. Enter Feature Requests at https://github.com/magento/community-features. Project stakeholders monitor and manage requests. Feature requests entered using this form may be moved to the forum.
-->

### Description
<!--- Describe the feature you would like to add. -->

### Expected behavior
<!--- What is the expected behavior of this feature? How is it going to work? -->

### Benefits
<!--- How do you think this feature would improve Magento? -->

### Additional information
<!--- What other information can you provide about the desired feature? -->
14 changes: 10 additions & 4 deletions app/bootstrap.php
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,6 @@
// Sets default autoload mappings, may be overridden in Bootstrap::create
\Magento\Framework\App\Bootstrap::populateAutoloader(BP, []);

require_once BP . '/app/functions.php';

/* Custom umask value may be provided in optional mage_umask file in root */
$umaskFile = BP . '/magento_umask';
$mask = file_exists($umaskFile) ? octdec(file_get_contents($umaskFile)) : 002;
Expand All @@ -54,8 +52,16 @@
&& isset($_SERVER['HTTP_ACCEPT'])
&& strpos($_SERVER['HTTP_ACCEPT'], 'text/html') !== false
) {
\Magento\Framework\Profiler::applyConfig(
(isset($_SERVER['MAGE_PROFILER']) && strlen($_SERVER['MAGE_PROFILER'])) ? $_SERVER['MAGE_PROFILER'] : trim(file_get_contents(BP . '/var/profiler.flag')),
$profilerConfig = isset($_SERVER['MAGE_PROFILER']) && strlen($_SERVER['MAGE_PROFILER'])
? $_SERVER['MAGE_PROFILER']
: trim(file_get_contents(BP . '/var/profiler.flag'));

if ($profilerConfig) {
$profilerConfig = json_decode($profilerConfig, true) ?: $profilerConfig;
}

Magento\Framework\Profiler::applyConfig(
$profilerConfig,
BP,
!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && $_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest'
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ public function __construct(
}

/**
* Predispath admin action controller
* Predispatch admin action controller
*
* @param \Magento\Framework\Event\Observer $observer
* @return void
Expand Down
2 changes: 1 addition & 1 deletion app/code/Magento/AdminNotification/etc/adminhtml/menu.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,6 @@
-->
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Backend:etc/menu.xsd">
<menu>
<add id="Magento_AdminNotification::system_adminnotification" title="Notifications" translate="title" module="Magento_AdminNotification" sortOrder="10" parent="Magento_Backend::system_other_settings" action="adminhtml/notification" resource="Magento_AdminNotification::adminnotification"/>
<add id="Magento_AdminNotification::system_adminnotification" title="Notifications" translate="title" module="Magento_AdminNotification" sortOrder="10" parent="Magento_Backend::system_other_settings" action="adminhtml/notification" resource="Magento_AdminNotification::adminnotification"/>
</menu>
</config>
56 changes: 28 additions & 28 deletions app/code/Magento/AdminNotification/etc/db_schema_whitelist.json
Original file line number Diff line number Diff line change
@@ -1,32 +1,32 @@
{
"adminnotification_inbox": {
"column": {
"notification_id": true,
"severity": true,
"date_added": true,
"title": true,
"description": true,
"url": true,
"is_read": true,
"is_remove": true
"adminnotification_inbox": {
"column": {
"notification_id": true,
"severity": true,
"date_added": true,
"title": true,
"description": true,
"url": true,
"is_read": true,
"is_remove": true
},
"index": {
"ADMINNOTIFICATION_INBOX_SEVERITY": true,
"ADMINNOTIFICATION_INBOX_IS_READ": true,
"ADMINNOTIFICATION_INBOX_IS_REMOVE": true
},
"constraint": {
"PRIMARY": true
}
},
"index": {
"ADMINNOTIFICATION_INBOX_SEVERITY": true,
"ADMINNOTIFICATION_INBOX_IS_READ": true,
"ADMINNOTIFICATION_INBOX_IS_REMOVE": true
},
"constraint": {
"PRIMARY": true
}
},
"admin_system_messages": {
"column": {
"identity": true,
"severity": true,
"created_at": true
},
"constraint": {
"PRIMARY": true
"admin_system_messages": {
"column": {
"identity": true,
"severity": true,
"created_at": true
},
"constraint": {
"PRIMARY": true
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -37,10 +37,10 @@ public function execute()
);
return $resultLayout;
} catch (\Exception $e) {
$this->messageManager->addError($e->getMessage());
$this->messageManager->addErrorMessage($e->getMessage());
}
} else {
$this->messageManager->addError(__('Please correct the data sent.'));
$this->messageManager->addErrorMessage(__('Please correct the data sent.'));
}
/** @var \Magento\Backend\Model\View\Result\Redirect $resultRedirect */
$resultRedirect = $this->resultFactory->create(ResultFactory::TYPE_REDIRECT);
Expand Down
30 changes: 22 additions & 8 deletions app/code/Magento/AdvancedSearch/Model/ResourceModel/Index.php
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
use Magento\Catalog\Model\Indexer\Category\Product\AbstractAction;
use Magento\Framework\Search\Request\IndexScopeResolverInterface as TableResolver;
use Magento\Catalog\Model\Indexer\Product\Price\DimensionCollectionFactory;
use Magento\Store\Model\Indexer\WebsiteDimensionProvider;

/**
* @api
Expand Down Expand Up @@ -47,12 +48,17 @@ class Index extends AbstractDb
*/
private $dimensionCollectionFactory;

/**
* @var int|null
*/
private $websiteId;

/**
* Index constructor.
* @param Context $context
* @param StoreManagerInterface $storeManager
* @param MetadataPool $metadataPool
* @param null $connectionName
* @param string|null $connectionName
* @param TableResolver|null $tableResolver
* @param DimensionCollectionFactory|null $dimensionCollectionFactory
*/
Expand Down Expand Up @@ -94,12 +100,17 @@ protected function _getCatalogProductPriceData($productIds = null)
$catalogProductIndexPriceSelect = [];

foreach ($this->dimensionCollectionFactory->create() as $dimensions) {
$catalogProductIndexPriceSelect[] = $connection->select()->from(
$this->tableResolver->resolve('catalog_product_index_price', $dimensions),
['entity_id', 'customer_group_id', 'website_id', 'min_price']
);
if ($productIds) {
current($catalogProductIndexPriceSelect)->where('entity_id IN (?)', $productIds);
if (!isset($dimensions[WebsiteDimensionProvider::DIMENSION_NAME]) ||
$this->websiteId === null ||
$dimensions[WebsiteDimensionProvider::DIMENSION_NAME]->getValue() === $this->websiteId) {
$select = $connection->select()->from(
$this->tableResolver->resolve('catalog_product_index_price', $dimensions),
['entity_id', 'customer_group_id', 'website_id', 'min_price']
);
if ($productIds) {
$select->where('entity_id IN (?)', $productIds);
}
$catalogProductIndexPriceSelect[] = $select;
}
}

Expand All @@ -123,9 +134,12 @@ protected function _getCatalogProductPriceData($productIds = null)
*/
public function getPriceIndexData($productIds, $storeId)
{
$websiteId = $this->storeManager->getStore($storeId)->getWebsiteId();

$this->websiteId = $websiteId;
$priceProductsIndexData = $this->_getCatalogProductPriceData($productIds);
$this->websiteId = null;

$websiteId = $this->storeManager->getStore($storeId)->getWebsiteId();
if (!isset($priceProductsIndexData[$websiteId])) {
return [];
}
Expand Down
22 changes: 11 additions & 11 deletions app/code/Magento/AdvancedSearch/etc/db_schema_whitelist.json
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
{
"catalogsearch_recommendations": {
"column": {
"id": true,
"query_id": true,
"relation_id": true
},
"constraint": {
"PRIMARY": true,
"CATALOGSEARCH_RECOMMENDATIONS_QUERY_ID_SEARCH_QUERY_QUERY_ID": true,
"CATALOGSEARCH_RECOMMENDATIONS_RELATION_ID_SEARCH_QUERY_QUERY_ID": true
"catalogsearch_recommendations": {
"column": {
"id": true,
"query_id": true,
"relation_id": true
},
"constraint": {
"PRIMARY": true,
"CATALOGSEARCH_RECOMMENDATIONS_QUERY_ID_SEARCH_QUERY_QUERY_ID": true,
"CATALOGSEARCH_RECOMMENDATIONS_RELATION_ID_SEARCH_QUERY_QUERY_ID": true
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -30,4 +30,9 @@ public function toBody(array $data);
* @return string
*/
public function getContentTypeHeader();

/**
* @return string
*/
public function getContentMediaType(): string;
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
declare(strict_types=1);

namespace Magento\Analytics\Model\Connector\Http;

use Magento\Framework\Serialize\Serializer\Json;
Expand All @@ -14,9 +16,16 @@ class JsonConverter implements ConverterInterface
{
/**
* Content-Type HTTP header for json.
* @deprecated
* @see CONTENT_MEDIA_TYPE
*/
const CONTENT_TYPE_HEADER = 'Content-Type: application/json';

/**
* Media-Type corresponding to this converter.
*/
const CONTENT_MEDIA_TYPE = 'application/json';

/**
* @var Json
*/
Expand Down Expand Up @@ -56,6 +65,14 @@ public function toBody(array $data)
*/
public function getContentTypeHeader()
{
return self::CONTENT_TYPE_HEADER;
return sprintf('Content-Type: %s', self::CONTENT_MEDIA_TYPE);
}

/**
* @inheritdoc
*/
public function getContentMediaType(): string
{
return self::CONTENT_MEDIA_TYPE;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,15 @@ public function __construct(ConverterInterface $converter, array $responseHandle
public function getResult(\Zend_Http_Response $response)
{
$result = false;
$responseBody = $this->converter->fromBody($response->getBody());
$converterMediaType = $this->converter->getContentMediaType();

/** Content-Type header may not only contain media-type declaration */
if ($response->getBody() && is_int(strripos($response->getHeader('Content-Type'), $converterMediaType))) {
$responseBody = $this->converter->fromBody($response->getBody());
} else {
$responseBody = [];
}

if (array_key_exists($response->getStatus(), $this->responseHandlers)) {
$result = $this->responseHandlers[$response->getStatus()]->handleResponse($responseBody);
}
Expand Down
5 changes: 3 additions & 2 deletions app/code/Magento/Analytics/Model/Connector/OTPRequest.php
Original file line number Diff line number Diff line change
Expand Up @@ -103,8 +103,9 @@ public function call()
if (!$result) {
$this->logger->warning(
sprintf(
'Obtaining of an OTP from the MBI service has been failed: %s',
!empty($response->getBody()) ? $response->getBody() : 'Response body is empty.'
'Obtaining of an OTP from the MBI service has been failed: %s. Content-Type: %s',
!empty($response->getBody()) ? $response->getBody() : 'Response body is empty',
$response->getHeader('Content-Type')
)
);
}
Expand Down
6 changes: 4 additions & 2 deletions app/code/Magento/Analytics/Model/Connector/SignUpCommand.php
Original file line number Diff line number Diff line change
Expand Up @@ -110,8 +110,10 @@ public function execute()
if (!$result) {
$this->logger->warning(
sprintf(
'Subscription for MBI service has been failed. An error occurred during token exchange: %s',
!empty($response->getBody()) ? $response->getBody() : 'Response body is empty.'
'Subscription for MBI service has been failed. An error occurred during token exchange: %s.'
. ' Content-Type: %s',
!empty($response->getBody()) ? $response->getBody() : 'Response body is empty',
$response->getHeader('Content-Type')
)
);
}
Expand Down
5 changes: 3 additions & 2 deletions app/code/Magento/Analytics/Model/Connector/UpdateCommand.php
Original file line number Diff line number Diff line change
Expand Up @@ -101,8 +101,9 @@ public function execute()
if (!$result) {
$this->logger->warning(
sprintf(
'Update of the subscription for MBI service has been failed: %s',
!empty($response->getBody()) ? $response->getBody() : 'Response body is empty.'
'Update of the subscription for MBI service has been failed: %s. Content-Type: %s',
!empty($response->getBody()) ? $response->getBody() : 'Response body is empty',
$response->getHeader('Content-Type')
)
);
}
Expand Down
Loading

0 comments on commit 02c2bc0

Please sign in to comment.