/** * {@inheritdoc} */ public function convertToImportFormat(array $importedRecord, $skipNullValues = true) { // normalize order items if single is passed if (!empty($importedRecord['items'])) { /** @var array $items */ $items = $importedRecord['items']; foreach ($items as $item) { if (!is_array($item)) { $importedRecord['items'] = [$items]; break; } } } if ($this->context && $this->context->hasOption('channel')) { $importedRecord['store:channel:id'] = $this->context->getOption('channel'); $importedRecord['customer:channel:id'] = $this->context->getOption('channel'); $importedRecord['cart:channel:id'] = $this->context->getOption('channel'); } $importedRecord = parent::convertToImportFormat($importedRecord, $skipNullValues); $importedRecord = AttributesConverterHelper::addUnknownAttributes($importedRecord, $this->context); if (!empty($importedRecord['paymentDetails']['method'])) { $importedRecord['paymentMethod'] = $importedRecord['paymentDetails']['method']; } else { $importedRecord['paymentMethod'] = null; } unset($importedRecord['paymentDetails']['method']); return $importedRecord; }
/** * @dataProvider importDataDataProvider * @param bool $isMany * @param array $input * @param array $expected */ public function testConvertToImportFormat($isMany, array $input, array $expected) { $nodeKey = 'test_key'; $converted = ['key1' => 'val1', 'key2' => 'val2']; $rules = ['key' => 'cKey', $nodeKey => 'nKey']; $nodeDataConverter = $this->getMockBuilder('Oro\\Bundle\\ImportExportBundle\\Converter\\DataConverterInterface')->setMethods(['convertToImportFormat'])->getMockForAbstractClass(); $this->dataConverter->expects($this->once())->method('getHeaderConversionRules')->will($this->returnValue($rules)); if ($isMany) { $rowsCount = count($input[$nodeKey]); $nodeDataConverter->expects($this->exactly($rowsCount))->method('convertToImportFormat')->will($this->returnValue($converted)); for ($i = 0; $i < $rowsCount; $i++) { $nodeDataConverter->expects($this->at($i))->method('convertToImportFormat')->with($input[$nodeKey][$i]); } } else { $nodeDataConverter->expects($this->once())->method('convertToImportFormat')->with($input[$nodeKey])->will($this->returnValue($converted)); } $this->dataConverter->addNodeDataConverter($nodeKey, $nodeDataConverter, $isMany); $this->assertEquals($expected, $this->dataConverter->convertToImportFormat($input)); }
/** * {@inheritdoc} */ public function convertToImportFormat(array $importedRecord, $skipNullValues = true) { if ($this->context && $this->context->hasOption('channel')) { $importedRecord['customer:channel:id'] = $this->context->getOption('channel'); $importedRecord['store:channel:id'] = $this->context->getOption('channel'); } if (array_key_exists('customer_id', $importedRecord)) { $importedRecord['customer_id'] = filter_var($importedRecord['customer_id'], FILTER_SANITIZE_NUMBER_INT); } return parent::convertToImportFormat($importedRecord, $skipNullValues); }
/** * {@inheritdoc} */ public function convertToImportFormat(array $importedRecord, $skipNullValues = true) { if ($this->context && $this->context->hasOption('channel')) { $importedRecord['store:channel:id'] = $this->context->getOption('channel'); $importedRecord['website:channel:id'] = $this->context->getOption('channel'); $importedRecord['group:channel:id'] = $this->context->getOption('channel'); } $importedRecord = parent::convertToImportFormat($importedRecord, $skipNullValues); $importedRecord = AttributesConverterHelper::addUnknownAttributes($importedRecord, $this->context); $importedRecord['confirmed'] = false; $importedRecord['guest'] = true; return $importedRecord; }
/** * {@inheritdoc} */ public function convertToImportFormat(array $importedRecord, $skipNullValues = true) { if ($this->context && $this->context->hasOption('channel')) { $importedRecord['store:channel:id'] = $this->context->getOption('channel'); $importedRecord['customer:channel:id'] = $this->context->getOption('channel'); $importedRecord['customer:group:channel:id'] = $this->context->getOption('channel'); } $importedRecord['cart_status'] = CartStatus::STATUS_OPEN; if (array_key_exists('is_active', $importedRecord)) { $importedRecord['cart_status'] = $importedRecord['is_active'] ? CartStatus::STATUS_OPEN : CartStatus::STATUS_EXPIRED; } $importedRecord = parent::convertToImportFormat($importedRecord, $skipNullValues); return AttributesConverterHelper::addUnknownAttributes($importedRecord, $this->context); }
/** * {@inheritdoc} */ public function convertToImportFormat(array $importedRecord, $skipNullValues = true) { if ($this->context && $this->context->hasOption('channel')) { $importedRecord['store:channel:id'] = $this->context->getOption('channel'); $importedRecord['website:channel:id'] = $this->context->getOption('channel'); $importedRecord['group:channel:id'] = $this->context->getOption('channel'); } // extract view from 'website\nstore\view' string if (!empty($importedRecord['storeName'])) { $createdIn = explode("\n", $importedRecord['storeName']); $importedRecord['storeName'] = end($createdIn); } $importedRecord = parent::convertToImportFormat($importedRecord, $skipNullValues); $importedRecord = AttributesConverterHelper::addUnknownAttributes($importedRecord, $this->context); $importedRecord['confirmed'] = false; $importedRecord['guest'] = true; return $importedRecord; }
/** * {@inheritdoc} */ public function convertToImportFormat(array $importedRecord, $skipNullValues = true) { if ($this->context && $this->context->hasOption('channel')) { $importedRecord['store:channel:id'] = $this->context->getOption('channel'); $importedRecord['website:channel:id'] = $this->context->getOption('channel'); $importedRecord['group:channel:id'] = $this->context->getOption('channel'); } $importedRecord = parent::convertToImportFormat($importedRecord, $skipNullValues); $importedRecord = AttributesConverterHelper::addUnknownAttributes($importedRecord, $this->context); $importedRecord['confirmed'] = empty($importedRecord['confirmation']); if (!empty($importedRecord['birthday'])) { $importedRecord['birthday'] = substr($importedRecord['birthday'], 0, 10); } if (!empty($importedRecord['gender'])) { $importedRecord['gender'] = $this->getOroGender($importedRecord['gender']); } unset($importedRecord['password']); return $importedRecord; }