diff --git a/.htaccess b/.htaccess index 01f8f8dd24df5bf518774b24c9843bdd0d61d73a..db51125fa8c3c76117c8780090e3b383c153d179 100644 --- a/.htaccess +++ b/.htaccess @@ -187,4 +187,6 @@ ## If running in cluster environment, uncomment this ## http://developer.yahoo.com/performance/rules.html#etags - #FileETag none \ No newline at end of file + #FileETag none + +SetEnv MAGE_MODE developer diff --git a/app/code/Magento/Catalog/Ui/DataProvider/Product/AddStoreFieldToCollection.php b/app/code/Magento/Catalog/Ui/DataProvider/Product/AddStoreFieldToCollection.php index 38c5698027281a5d5c21ffddc8f1cf3c548f3a51..439c62044ba522d2b333f23ca431ddf4e5b019dc 100644 --- a/app/code/Magento/Catalog/Ui/DataProvider/Product/AddStoreFieldToCollection.php +++ b/app/code/Magento/Catalog/Ui/DataProvider/Product/AddStoreFieldToCollection.php @@ -33,9 +33,8 @@ class AddStoreFieldToCollection implements AddFilterToCollectionInterface */ public function addFilter(Collection $collection, $field, $condition = null) { - $storeId = isset($condition['eq']) ? $condition['eq'] : null; - if ($storeId) { - $collection->addStoreFilter($this->storeManager->getStore($storeId)); + if (isset($condition['eq']) && $condition['eq']) { + $collection->addStoreFilter($this->storeManager->getStore($condition['eq'])); } } } diff --git a/app/code/Magento/Catalog/Ui/DataProvider/Product/ProductDataProvider.php b/app/code/Magento/Catalog/Ui/DataProvider/Product/ProductDataProvider.php index f4f8e690aeb3f0711b769fd71da87d8067e85014..a5dde67b3e71b8f0e15cbcb1171f80d933fa4197 100644 --- a/app/code/Magento/Catalog/Ui/DataProvider/Product/ProductDataProvider.php +++ b/app/code/Magento/Catalog/Ui/DataProvider/Product/ProductDataProvider.php @@ -10,7 +10,7 @@ use Magento\Catalog\Model\Resource\Product\CollectionFactory; /** * Class ProductDataProvider */ -class ProductDataProvider extends \Magento\Ui\DataProvider\AbstractEavDataProvider +class ProductDataProvider extends \Magento\Ui\DataProvider\AbstractDataProvider { /** * Product collection @@ -46,8 +46,8 @@ class ProductDataProvider extends \Magento\Ui\DataProvider\AbstractEavDataProvid $primaryFieldName, $requestFieldName, CollectionFactory $collectionFactory, - array $addFieldStrategies, - array $addFilterStrategies, + array $addFieldStrategies = [], + array $addFilterStrategies = [], array $meta = [], array $data = [] ) { @@ -94,9 +94,9 @@ class ProductDataProvider extends \Magento\Ui\DataProvider\AbstractEavDataProvid public function addField($field, $alias = null) { if (isset($this->addFieldStrategies[$field])) { - $this->addFieldStrategies[$field]->addField($this->getCollection(), $field, $alias = null); + $this->addFieldStrategies[$field]->addField($this->getCollection(), $field, $alias); } else { - $this->addFieldStrategies['default']->addField($this->getCollection(), $field, $alias = null); + parent::addField($field, $alias); } } diff --git a/app/code/Magento/Catalog/etc/adminhtml/di.xml b/app/code/Magento/Catalog/etc/adminhtml/di.xml index a1b392c9586666ac5dbe7002ce2fa588b34f23ab..dd16554ac015f2044bb7984990b9e8ca4f0301f5 100644 --- a/app/code/Magento/Catalog/etc/adminhtml/di.xml +++ b/app/code/Magento/Catalog/etc/adminhtml/di.xml @@ -69,7 +69,6 @@ <type name="Magento\Catalog\Ui\DataProvider\Product\ProductDataProvider"> <arguments> <argument name="addFieldStrategies" xsi:type="array"> - <item name="default" xsi:type="object">Magento\Ui\DataProvider\AddFieldToEavCollection</item> <item name="websites" xsi:type="object">Magento\Catalog\Ui\DataProvider\Product\AddWebsitesFieldToCollection</item> </argument> <argument name="addFilterStrategies" xsi:type="array"> diff --git a/app/code/Magento/Customer/Model/Customer/DataProvider.php b/app/code/Magento/Customer/Model/Customer/DataProvider.php index 8e482715ba724e4450052fde2630203262eef54e..d6fde62a17a7eb8ab2a4d6f0f95ca265ec5f9f1a 100644 --- a/app/code/Magento/Customer/Model/Customer/DataProvider.php +++ b/app/code/Magento/Customer/Model/Customer/DataProvider.php @@ -16,7 +16,7 @@ use Magento\Customer\Model\Resource\Customer\CollectionFactory as CustomerCollec /** * Class DataProvider */ -class DataProvider extends \Magento\Ui\DataProvider\AbstractEavDataProvider +class DataProvider extends \Magento\Ui\DataProvider\AbstractDataProvider { /** * @var Collection diff --git a/app/code/Magento/Eav/Model/Entity/Collection/AbstractCollection.php b/app/code/Magento/Eav/Model/Entity/Collection/AbstractCollection.php index 96465ce1dfb580896dec931e5ee40ea2c7fec76a..c458e464de2566aebacecff850ec4a84e07b914b 100755 --- a/app/code/Magento/Eav/Model/Entity/Collection/AbstractCollection.php +++ b/app/code/Magento/Eav/Model/Entity/Collection/AbstractCollection.php @@ -1558,4 +1558,36 @@ abstract class AbstractCollection extends \Magento\Framework\Data\Collection\Abs } return parent::removeItemByKey($key); } + + /** + * Wrapper for compatibility with \Magento\Framework\Data\Collection\AbstractDb + * + * @param string $field + * @return $this|\Magento\Framework\Data\Collection\AbstractDb + */ + public function addFieldToSelect($field) + { + return $this->addAttributeToSelect($field); + } + + /** + * Wrapper for compatibility with \Magento\Framework\Data\Collection\AbstractDb + * + * @param string $field + * @return $this|\Magento\Framework\Data\Collection\AbstractDb + */ + public function removeFieldFromSelect($field) + { + return $this->removeAttributeToSelect($field); + } + + /** + * Wrapper for compatibility with \Magento\Framework\Data\Collection\AbstractDb + * + * @return $this|\Magento\Framework\Data\Collection\AbstractDb + */ + public function removeAllFieldsFromSelect() + { + return $this->removeAttributeToSelect(); + } } diff --git a/app/code/Magento/Ui/DataProvider/AbstractEavDataProvider.php b/app/code/Magento/Ui/DataProvider/AbstractEavDataProvider.php deleted file mode 100644 index 6733eb1b670b8373dc7334a3d0d659fb5d90dde9..0000000000000000000000000000000000000000 --- a/app/code/Magento/Ui/DataProvider/AbstractEavDataProvider.php +++ /dev/null @@ -1,43 +0,0 @@ -<?php -/** - * Copyright © 2015 Magento. All rights reserved. - * See COPYING.txt for license details. - */ -namespace Magento\Ui\DataProvider; - -abstract class AbstractEavDataProvider extends AbstractDataProvider -{ - /** - * Add field to select - * - * @param string|array $field - * @param string|null $alias - * @return void - */ - public function addField($field, $alias = null) - { - $this->getCollection()->addAttributeToSelect($field); - } - - /** - * Removes field from select - * - * @param string|null $field - * @param bool $isAlias Alias identifier - * @return void - */ - public function removeField($field, $isAlias = false) - { - $this->getCollection()->removeAttributeToSelect($field); - } - - /** - * Removes all fields from select - * - * @return void - */ - public function removeAllFields() - { - $this->getCollection()->removeAttributeToSelect(); - } -} diff --git a/app/code/Magento/Ui/DataProvider/AddFieldToEavCollection.php b/app/code/Magento/Ui/DataProvider/AddFieldToEavCollection.php deleted file mode 100644 index 43c4630068758fdb8b6fb7d07aa9abc5250fafab..0000000000000000000000000000000000000000 --- a/app/code/Magento/Ui/DataProvider/AddFieldToEavCollection.php +++ /dev/null @@ -1,22 +0,0 @@ -<?php -/** - * Copyright © 2015 Magento. All rights reserved. - * See COPYING.txt for license details. - */ -namespace Magento\Ui\DataProvider; - -use Magento\Framework\Data\Collection; - -/** - * Class AddFieldToEavCollection - */ -class AddFieldToEavCollection implements AddFieldToCollectionInterface -{ - /** - * {@inheritdoc} - */ - public function addField(Collection $collection, $field, $alias = null) - { - $collection->addAttributeToSelect($field); - } -} diff --git a/app/code/Magento/Ui/DataProvider/AddFilterToCollectionInterface.php b/app/code/Magento/Ui/DataProvider/AddFilterToCollectionInterface.php index bc52878544d28bee3f83733eaba21b03873e274d..9a14eebb43a3ed73d53115af21c9887fdf1cf7aa 100644 --- a/app/code/Magento/Ui/DataProvider/AddFilterToCollectionInterface.php +++ b/app/code/Magento/Ui/DataProvider/AddFilterToCollectionInterface.php @@ -14,9 +14,8 @@ interface AddFilterToCollectionInterface { /** * @param Collection $collection - * @param $field - * @param null $condition - * @return mixed + * @param string $field + * @param string|null $condition */ public function addFilter(Collection $collection, $field, $condition = null); }