From f9366049ae72400c587a6fe7225d9c6022bc1218 Mon Sep 17 00:00:00 2001 From: Carlos Lizaga Date: Tue, 14 Nov 2017 21:53:41 +0100 Subject: [PATCH 1/8] Fix PHPDoc for uploadMediaFiles function in order to show $renameFileOff param as optional set as false by default. --- app/code/Magento/CatalogImportExport/Model/Import/Product.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/code/Magento/CatalogImportExport/Model/Import/Product.php b/app/code/Magento/CatalogImportExport/Model/Import/Product.php index 5f4a512ec34de..bfed36c8712fb 100644 --- a/app/code/Magento/CatalogImportExport/Model/Import/Product.php +++ b/app/code/Magento/CatalogImportExport/Model/Import/Product.php @@ -2029,6 +2029,8 @@ public function getUploader() * Return a new file name if the same file is already exists. * * @param string $fileName + * @param bool $renameFileOff [optional] boolean to pass. Default is false + * which will set not to rename the file after import. * @return string */ protected function uploadMediaFiles($fileName, $renameFileOff = false) From 3ce246d476e090cb45b91ffa45416a1b2aade7f0 Mon Sep 17 00:00:00 2001 From: Carlos Lizaga Date: Tue, 14 Nov 2017 22:17:56 +0100 Subject: [PATCH 2/8] Fix PHPDoc typo on __construct method. --- app/code/Magento/CatalogImportExport/Model/Import/Product.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/code/Magento/CatalogImportExport/Model/Import/Product.php b/app/code/Magento/CatalogImportExport/Model/Import/Product.php index bfed36c8712fb..165eb28a010b5 100644 --- a/app/code/Magento/CatalogImportExport/Model/Import/Product.php +++ b/app/code/Magento/CatalogImportExport/Model/Import/Product.php @@ -712,7 +712,7 @@ class Product extends \Magento\ImportExport\Model\Import\Entity\AbstractEntity * @param \Magento\CatalogInventory\Model\Spi\StockStateProviderInterface $stockStateProvider * @param \Magento\Catalog\Helper\Data $catalogData * @param \Magento\ImportExport\Model\Import\Config $importConfig - * @param Proxy\Product\ResourceFactory $resourceFactory + * @param Proxy\Product\ResourceModelFactory $resourceFactory * @param Product\OptionFactory $optionFactory * @param \Magento\Eav\Model\ResourceModel\Entity\Attribute\Set\CollectionFactory $setColFactory * @param Product\Type\Factory $productTypeFactory From 8f1aa87d249294fd756469ccf4f84a271d21c432 Mon Sep 17 00:00:00 2001 From: Carlos Lizaga Date: Tue, 14 Nov 2017 22:34:09 +0100 Subject: [PATCH 3/8] Fix PHPDoc _saveProducts method to include throws \Magento\Framework\Exception\LocalizedException --- app/code/Magento/CatalogImportExport/Model/Import/Product.php | 1 + 1 file changed, 1 insertion(+) diff --git a/app/code/Magento/CatalogImportExport/Model/Import/Product.php b/app/code/Magento/CatalogImportExport/Model/Import/Product.php index 165eb28a010b5..217f78d20b03b 100644 --- a/app/code/Magento/CatalogImportExport/Model/Import/Product.php +++ b/app/code/Magento/CatalogImportExport/Model/Import/Product.php @@ -1551,6 +1551,7 @@ public function getImagesFromRow(array $rowData) * @SuppressWarnings(PHPMD.NPathComplexity) * @SuppressWarnings(PHPMD.ExcessiveMethodLength) * @SuppressWarnings(PHPMD.UnusedLocalVariable) + * @throws \Magento\Framework\Exception\LocalizedException */ protected function _saveProducts() { From 41a43c1a57bc0a38ccce14f27e5ae8373d0fd76d Mon Sep 17 00:00:00 2001 From: Carlos Lizaga Date: Tue, 14 Nov 2017 22:50:14 +0100 Subject: [PATCH 4/8] Remove deprecated gmDate function from _saveProducts() and _saveStockItem() functions. Used Intl library for datetime handling: http://php.net/manual/en/book.intl.php --- app/code/Magento/CatalogImportExport/Model/Import/Product.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/code/Magento/CatalogImportExport/Model/Import/Product.php b/app/code/Magento/CatalogImportExport/Model/Import/Product.php index 217f78d20b03b..5ed492b2ec3d6 100644 --- a/app/code/Magento/CatalogImportExport/Model/Import/Product.php +++ b/app/code/Magento/CatalogImportExport/Model/Import/Product.php @@ -1815,7 +1815,7 @@ protected function _saveProducts() ) { $attrValue = $this->dateTime->formatDate($attrValue, false); } elseif ('datetime' == $attribute->getBackendType() && strtotime($attrValue)) { - $attrValue = $this->dateTime->gmDate( + $attrValue = gmdate( 'Y-m-d H:i:s', $this->_localeDate->date($attrValue)->getTimestamp() ); @@ -2240,7 +2240,7 @@ protected function _saveStockItem() $stockItemDo->setData($row); $row['is_in_stock'] = $this->stockStateProvider->verifyStock($stockItemDo); if ($this->stockStateProvider->verifyNotification($stockItemDo)) { - $row['low_stock_date'] = $this->dateTime->gmDate( + $row['low_stock_date'] = gmdate( 'Y-m-d H:i:s', (new \DateTime())->getTimestamp() ); From 19de842b1d291f731937adcbe0c1aa3213cbb861 Mon Sep 17 00:00:00 2001 From: Carlos Lizaga Date: Tue, 14 Nov 2017 22:57:58 +0100 Subject: [PATCH 5/8] Fix PHPDoc for _saveValidatedBunches(). Return shall be declared as $this|\Magento\ImportExport\Model\Import\Entity\AbstractEntity Removed 'void' as declaration from _saveValidatedBunches() function as it shall return $this [\Magento\ImportExport\Model\Import\Entity\AbstractEntity] --- app/code/Magento/CatalogImportExport/Model/Import/Product.php | 2 +- .../Magento/ImportExport/Model/Import/Entity/AbstractEntity.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/code/Magento/CatalogImportExport/Model/Import/Product.php b/app/code/Magento/CatalogImportExport/Model/Import/Product.php index 5ed492b2ec3d6..2727ce008c88b 100644 --- a/app/code/Magento/CatalogImportExport/Model/Import/Product.php +++ b/app/code/Magento/CatalogImportExport/Model/Import/Product.php @@ -2758,7 +2758,7 @@ private function _customFieldsMapping($rowData) /** * Validate data rows and save bunches to DB * - * @return $this + * @return $this|\Magento\ImportExport\Model\Import\Entity\AbstractEntity */ protected function _saveValidatedBunches() { diff --git a/app/code/Magento/ImportExport/Model/Import/Entity/AbstractEntity.php b/app/code/Magento/ImportExport/Model/Import/Entity/AbstractEntity.php index c61292f7c34f7..37c85a4384900 100644 --- a/app/code/Magento/ImportExport/Model/Import/Entity/AbstractEntity.php +++ b/app/code/Magento/ImportExport/Model/Import/Entity/AbstractEntity.php @@ -378,7 +378,7 @@ protected function addErrors($code, $errors) /** * Validate data rows and save bunches to DB. * - * @return $this|void + * @return $this * @SuppressWarnings(PHPMD.CyclomaticComplexity) */ protected function _saveValidatedBunches() From dc22a8249dad15e168a781a2c32ffebdf5c51869 Mon Sep 17 00:00:00 2001 From: Carlos Lizaga Date: Tue, 14 Nov 2017 23:06:25 +0100 Subject: [PATCH 6/8] Fine tuning: add use Magento\Framework\Exception\LocalizedException in order to use LocalizedException and reuse ObjectManager instead of classpath. --- .../Model/Import/Entity/AbstractEntity.php | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/app/code/Magento/ImportExport/Model/Import/Entity/AbstractEntity.php b/app/code/Magento/ImportExport/Model/Import/Entity/AbstractEntity.php index 37c85a4384900..e7883693fbe74 100644 --- a/app/code/Magento/ImportExport/Model/Import/Entity/AbstractEntity.php +++ b/app/code/Magento/ImportExport/Model/Import/Entity/AbstractEntity.php @@ -7,6 +7,7 @@ use Magento\Framework\App\ObjectManager; use Magento\Framework\App\ResourceConnection; +use Magento\Framework\Exception\LocalizedException; use Magento\Framework\Serialize\Serializer\Json; use Magento\ImportExport\Model\Import\AbstractSource; use Magento\ImportExport\Model\Import as ImportExport; @@ -310,7 +311,7 @@ public function __construct( protected function _getSource() { if (!$this->_source) { - throw new \Magento\Framework\Exception\LocalizedException(__('Please specify a source.')); + throw new LocalizedException(__('Please specify a source.')); } return $this->_source; } @@ -548,11 +549,11 @@ public function getBehavior() if (!isset( $this->_parameters['behavior'] ) || - $this->_parameters['behavior'] != \Magento\ImportExport\Model\Import::BEHAVIOR_APPEND && - $this->_parameters['behavior'] != \Magento\ImportExport\Model\Import::BEHAVIOR_REPLACE && - $this->_parameters['behavior'] != \Magento\ImportExport\Model\Import::BEHAVIOR_DELETE + $this->_parameters['behavior'] != ImportExport::BEHAVIOR_APPEND && + $this->_parameters['behavior'] != ImportExport::BEHAVIOR_REPLACE && + $this->_parameters['behavior'] != ImportExport::BEHAVIOR_DELETE ) { - return \Magento\ImportExport\Model\Import::getDefaultBehavior(); + return ImportExport::getDefaultBehavior(); } return $this->_parameters['behavior']; } @@ -604,7 +605,7 @@ public function getProcessedRowsCount() public function getSource() { if (!$this->_source) { - throw new \Magento\Framework\Exception\LocalizedException(__('The source is not set.')); + throw new LocalizedException(__('The source is not set.')); } return $this->_source; } @@ -879,7 +880,7 @@ public function getValidColumnNames() protected function getMetadataPool() { if (!$this->metadataPool) { - $this->metadataPool = \Magento\Framework\App\ObjectManager::getInstance() + $this->metadataPool = ObjectManager::getInstance() ->get(\Magento\Framework\EntityManager\MetadataPool::class); } return $this->metadataPool; From 820c0973bfeb5ba67e374c367bb584261f2ac0c1 Mon Sep 17 00:00:00 2001 From: Carlos Lizaga Date: Tue, 14 Nov 2017 23:14:29 +0100 Subject: [PATCH 7/8] Fine tuning: add use Magento\Framework\Exception\LocalizedException in order to use LocalizedException. --- .../CatalogImportExport/Model/Import/Product.php | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/app/code/Magento/CatalogImportExport/Model/Import/Product.php b/app/code/Magento/CatalogImportExport/Model/Import/Product.php index 2727ce008c88b..91e7c95e86f7b 100644 --- a/app/code/Magento/CatalogImportExport/Model/Import/Product.php +++ b/app/code/Magento/CatalogImportExport/Model/Import/Product.php @@ -9,6 +9,7 @@ use Magento\Catalog\Model\Product\Visibility; use Magento\CatalogImportExport\Model\Import\Product\RowValidatorInterface as ValidatorInterface; use Magento\Framework\App\Filesystem\DirectoryList; +use Magento\Framework\Exception\LocalizedException; use Magento\Framework\Filesystem; use Magento\Framework\Model\ResourceModel\Db\ObjectRelationProcessor; use Magento\Framework\Model\ResourceModel\Db\TransactionManagerInterface; @@ -1084,12 +1085,12 @@ protected function _initTypeModels() $params = [$this, $productTypeName]; if (!($model = $this->_productTypeFactory->create($productTypeConfig['model'], ['params' => $params])) ) { - throw new \Magento\Framework\Exception\LocalizedException( + throw new LocalizedException( __('Entity type model \'%1\' is not found', $productTypeConfig['model']) ); } if (!$model instanceof \Magento\CatalogImportExport\Model\Import\Product\Type\AbstractType) { - throw new \Magento\Framework\Exception\LocalizedException( + throw new LocalizedException( __( 'Entity type model must be an instance of ' . \Magento\CatalogImportExport\Model\Import\Product\Type\AbstractType::class @@ -1612,7 +1613,7 @@ protected function _saveProducts() // wrong attribute_set_code was received if (!$attributeSetId) { - throw new \Magento\Framework\Exception\LocalizedException( + throw new LocalizedException( __( 'Wrong attribute set code "%1", please correct it and try again.', $rowData['attribute_set_code'] @@ -1999,7 +2000,7 @@ protected function _getUploader() } if (!$this->_fileUploader->setTmpDir($tmpPath)) { - throw new \Magento\Framework\Exception\LocalizedException( + throw new LocalizedException( __('File directory \'%1\' is not readable.', $tmpPath) ); } @@ -2008,7 +2009,7 @@ protected function _getUploader() $this->_mediaDirectory->create($destinationPath); if (!$this->_fileUploader->setDestDir($destinationPath)) { - throw new \Magento\Framework\Exception\LocalizedException( + throw new LocalizedException( __('File directory \'%1\' is not writable.', $destinationPath) ); } From 11649b7dd5564d27897ab45d0db5e297d5913ca1 Mon Sep 17 00:00:00 2001 From: Oleksii Korshenko Date: Wed, 15 Nov 2017 18:21:52 -0600 Subject: [PATCH 8/8] MAGETWO-83958: Phpdoc improvements #12257 - reverted some changes that were done incorrectly --- .../CatalogImportExport/Model/Import/Product.php | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/app/code/Magento/CatalogImportExport/Model/Import/Product.php b/app/code/Magento/CatalogImportExport/Model/Import/Product.php index 91e7c95e86f7b..d383c84876421 100644 --- a/app/code/Magento/CatalogImportExport/Model/Import/Product.php +++ b/app/code/Magento/CatalogImportExport/Model/Import/Product.php @@ -1552,7 +1552,7 @@ public function getImagesFromRow(array $rowData) * @SuppressWarnings(PHPMD.NPathComplexity) * @SuppressWarnings(PHPMD.ExcessiveMethodLength) * @SuppressWarnings(PHPMD.UnusedLocalVariable) - * @throws \Magento\Framework\Exception\LocalizedException + * @throws LocalizedException */ protected function _saveProducts() { @@ -1816,7 +1816,7 @@ protected function _saveProducts() ) { $attrValue = $this->dateTime->formatDate($attrValue, false); } elseif ('datetime' == $attribute->getBackendType() && strtotime($attrValue)) { - $attrValue = gmdate( + $attrValue = $this->dateTime->gmDate( 'Y-m-d H:i:s', $this->_localeDate->date($attrValue)->getTimestamp() ); @@ -2031,8 +2031,7 @@ public function getUploader() * Return a new file name if the same file is already exists. * * @param string $fileName - * @param bool $renameFileOff [optional] boolean to pass. Default is false - * which will set not to rename the file after import. + * @param bool $renameFileOff * @return string */ protected function uploadMediaFiles($fileName, $renameFileOff = false) @@ -2241,7 +2240,7 @@ protected function _saveStockItem() $stockItemDo->setData($row); $row['is_in_stock'] = $this->stockStateProvider->verifyStock($stockItemDo); if ($this->stockStateProvider->verifyNotification($stockItemDo)) { - $row['low_stock_date'] = gmdate( + $row['low_stock_date'] = $this->dateTime->gmDate( 'Y-m-d H:i:s', (new \DateTime())->getTimestamp() ); @@ -2757,9 +2756,7 @@ private function _customFieldsMapping($rowData) } /** - * Validate data rows and save bunches to DB - * - * @return $this|\Magento\ImportExport\Model\Import\Entity\AbstractEntity + * {@inheritdoc} */ protected function _saveValidatedBunches() {