/** * Validate row attributes. Pass VALID row data ONLY as argument. * * @param array $rowData * @param int $rowNum * @param bool $isNewProduct Optional * * @return bool */ public function isRowValid(array $rowData, $rowNum, $isNewProduct = true) { $error = false; $dataWithExtraVirtualRows = $this->_parseVariations($rowData); $skus = []; $rowData['price'] = isset($rowData['price']) && $rowData['price'] ? $rowData['price'] : '0.00'; if (!empty($dataWithExtraVirtualRows)) { array_unshift($dataWithExtraVirtualRows, $rowData); } else { $dataWithExtraVirtualRows[] = $rowData; } foreach ($dataWithExtraVirtualRows as $option) { if (isset($option['_super_products_sku'])) { if (in_array($option['_super_products_sku'], $skus)) { $error = true; $this->_entityModel->addRowError(sprintf($this->_messageTemplates[self::ERROR_DUPLICATED_VARIATIONS], $option['_super_products_sku']), $rowNum); } $skus[] = $option['_super_products_sku']; } $error |= !parent::isRowValid($option, $rowNum, $isNewProduct); } return !$error; }
/** * Validate row attributes. Pass VALID row data ONLY as argument. * * @param array $rowData * @param int $rowNum * @param bool $isNewProduct Optional * * @return bool */ public function isRowValid(array $rowData, $rowNum, $isNewProduct = true) { $error = false; $dataWithExtraVirtualRows = $this->_parseVariations($rowData); if (!empty($dataWithExtraVirtualRows)) { array_unshift($dataWithExtraVirtualRows, $rowData); } else { $dataWithExtraVirtualRows[] = $rowData; } foreach ($dataWithExtraVirtualRows as $data) { $error |= !parent::isRowValid($data, $rowNum, $isNewProduct); } return !$error; }
/** * Check whether the row is valid. * * @param array $rowData * @param int $rowNum * @param bool $isNewProduct * @return bool */ public function isRowValid(array $rowData, $rowNum, $isNewProduct = true) { if (isset($rowData['bundle_price_type']) && $rowData['bundle_price_type'] == 'dynamic') { $rowData['price'] = isset($rowData['price']) && $rowData['price'] ? $rowData['price'] : '0.00'; } return parent::isRowValid($rowData, $rowNum, $isNewProduct); }
/** * Check whether the row is valid. * * @param array $rowData * @param int $rowNum * @param bool $isNewProduct * @return bool */ public function isRowValid(array $rowData, $rowNum, $isNewProduct = true) { $rowData = array_merge($rowData, $this->transformBundleCustomAttributes($rowData)); return parent::isRowValid($rowData, $rowNum, $isNewProduct); }
/** * Check whether the row is valid. * * @param array $rowData * @param int $rowNum * @param bool $isNewProduct * @return bool */ public function isRowValid(array $rowData, $rowNum, $isNewProduct = true) { $rowData = array_merge($rowData, $this->transformBundleCustomAttributes($rowData)); if (isset($rowData['bundle_price_type']) && $rowData['bundle_price_type'] == 'dynamic') { $rowData['price'] = isset($rowData['price']) && $rowData['price'] ? $rowData['price'] : '0.00'; } return parent::isRowValid($rowData, $rowNum, $isNewProduct); }