diff --git a/app/code/Magento/Catalog/Model/ResourceModel/Product/StatusBaseSelectProcessor.php b/app/code/Magento/Catalog/Model/ResourceModel/Product/StatusBaseSelectProcessor.php index 381e09f5d740850e3d2462434cf26841b24de01e..b4293a39895850fb349a6232e0c5b95fc1dfa50f 100644 --- a/app/code/Magento/Catalog/Model/ResourceModel/Product/StatusBaseSelectProcessor.php +++ b/app/code/Magento/Catalog/Model/ResourceModel/Product/StatusBaseSelectProcessor.php @@ -61,16 +61,16 @@ class StatusBaseSelectProcessor implements BaseSelectProcessorInterface $select->joinLeft( ['status_global_attr' => $statusAttribute->getBackendTable()], "status_global_attr.{$linkField} = " . self::PRODUCT_TABLE_ALIAS . ".{$linkField}" - . ' AND status_global_attr.attribute_id = ' . (int)$statusAttribute->getAttributeId() - . ' AND status_global_attr.store_id = ' . Store::DEFAULT_STORE_ID, + . ' AND status_global_attr.attribute_id = ' . (int)$statusAttribute->getAttributeId() + . ' AND status_global_attr.store_id = ' . Store::DEFAULT_STORE_ID, [] ); $select->joinLeft( ['status_attr' => $statusAttribute->getBackendTable()], "status_attr.{$linkField} = " . self::PRODUCT_TABLE_ALIAS . ".{$linkField}" - . ' AND status_attr.attribute_id = ' . (int)$statusAttribute->getAttributeId() - . ' AND status_attr.store_id = ' . $this->storeResolver->getCurrentStoreId(), + . ' AND status_attr.attribute_id = ' . (int)$statusAttribute->getAttributeId() + . ' AND status_attr.store_id = ' . $this->storeResolver->getCurrentStoreId(), [] ); diff --git a/app/code/Magento/Catalog/Test/Unit/Model/ResourceModel/Product/StatusBaseSelectProcessorTest.php b/app/code/Magento/Catalog/Test/Unit/Model/ResourceModel/Product/StatusBaseSelectProcessorTest.php index c1c78c41ea602ddc560134bacabad5d9ccf8e5ec..1fada997913b620de06ddedcbffb3fdcdea92620 100644 --- a/app/code/Magento/Catalog/Test/Unit/Model/ResourceModel/Product/StatusBaseSelectProcessorTest.php +++ b/app/code/Magento/Catalog/Test/Unit/Model/ResourceModel/Product/StatusBaseSelectProcessorTest.php @@ -19,6 +19,9 @@ use Magento\Framework\TestFramework\Unit\Helper\ObjectManager; use Magento\Store\Api\StoreResolverInterface; use Magento\Store\Model\Store; +/** + * @SuppressWarnings(PHPMD.CouplingBetweenObjects) + */ class StatusBaseSelectProcessorTest extends \PHPUnit_Framework_TestCase { /** @@ -100,9 +103,9 @@ class StatusBaseSelectProcessorTest extends \PHPUnit_Framework_TestCase ->with( ['status_global_attr' => $backendTable], "status_global_attr.{$linkField} = " - . BaseSelectProcessorInterface::PRODUCT_TABLE_ALIAS . ".{$linkField}" - . " AND status_global_attr.attribute_id = {$attributeId}" - . ' AND status_global_attr.store_id = ' . Store::DEFAULT_STORE_ID, + . BaseSelectProcessorInterface::PRODUCT_TABLE_ALIAS . ".{$linkField}" + . " AND status_global_attr.attribute_id = {$attributeId}" + . ' AND status_global_attr.store_id = ' . Store::DEFAULT_STORE_ID, [] ) ->willReturnSelf(); @@ -111,8 +114,8 @@ class StatusBaseSelectProcessorTest extends \PHPUnit_Framework_TestCase ->with( ['status_attr' => $backendTable], "status_attr.{$linkField} = " . BaseSelectProcessorInterface::PRODUCT_TABLE_ALIAS . ".{$linkField}" - . " AND status_attr.attribute_id = {$attributeId}" - . " AND status_attr.store_id = {$currentStoreId}", + . " AND status_attr.attribute_id = {$attributeId}" + . " AND status_attr.store_id = {$currentStoreId}", [] ) ->willReturnSelf(); diff --git a/app/code/Magento/ConfigurableProduct/Model/ResourceModel/Product/Indexer/Price/Configurable.php b/app/code/Magento/ConfigurableProduct/Model/ResourceModel/Product/Indexer/Price/Configurable.php index 07936cefdebb194c5b894c049fd357c969fcdbc5..ed4863342a9670699fd544b7c7838697dd06eef7 100644 --- a/app/code/Magento/ConfigurableProduct/Model/ResourceModel/Product/Indexer/Price/Configurable.php +++ b/app/code/Magento/ConfigurableProduct/Model/ResourceModel/Product/Indexer/Price/Configurable.php @@ -13,6 +13,9 @@ use Magento\Catalog\Model\Product\Attribute\Source\Status; use Magento\Store\Api\StoreResolverInterface; use Magento\Store\Model\Store; +/** + * @SuppressWarnings(PHPMD.CouplingBetweenObjects) + */ class Configurable extends \Magento\Catalog\Model\ResourceModel\Product\Indexer\Price\DefaultPrice { /** @@ -29,6 +32,7 @@ class Configurable extends \Magento\Catalog\Model\ResourceModel\Product\Indexer\ * @param \Magento\Framework\Event\ManagerInterface $eventManager * @param \Magento\Framework\Module\Manager $moduleManager * @param string $connectionName + * @param StoreResolverInterface $storeResolver */ public function __construct( \Magento\Framework\Model\ResourceModel\Db\Context $context, @@ -235,7 +239,8 @@ class Configurable extends \Magento\Catalog\Model\ResourceModel\Product\Indexer\ . ' AND status_attr.store_id = ' . $this->storeResolver->getCurrentStoreId(), [] )->where( - 'IFNULL(status_attr.value, status_global_attr.value) = ?', Status::STATUS_ENABLED + 'IFNULL(status_attr.value, status_global_attr.value) = ?', + Status::STATUS_ENABLED )->group( ['e.entity_id', 'i.customer_group_id', 'i.website_id', 'l.product_id'] );