예제 #1
0
 /**
  * {@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);
 }
예제 #4
0
 /**
  * {@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;
 }
예제 #5
0
 /**
  * {@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);
 }
예제 #6
0
 /**
  * {@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;
 }
예제 #7
0
 /**
  * {@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;
 }