You are here

public function Order::prepareRow in Commerce Migrate 3.1.x

Same name in this branch
  1. 3.1.x modules/ubercart/src/Plugin/migrate/source/Order.php \Drupal\commerce_migrate_ubercart\Plugin\migrate\source\Order::prepareRow()
  2. 3.1.x modules/commerce/src/Plugin/migrate/source/commerce1/Order.php \Drupal\commerce_migrate_commerce\Plugin\migrate\source\commerce1\Order::prepareRow()
Same name and namespace in other branches
  1. 8.2 modules/ubercart/src/Plugin/migrate/source/Order.php \Drupal\commerce_migrate_ubercart\Plugin\migrate\source\Order::prepareRow()
  2. 3.0.x modules/ubercart/src/Plugin/migrate/source/Order.php \Drupal\commerce_migrate_ubercart\Plugin\migrate\source\Order::prepareRow()

Adds additional data to the row.

Parameters

\Drupal\migrate\Row $row: The row object.

Return value

bool FALSE if this row needs to be skipped.

Overrides SourcePluginBase::prepareRow

File

modules/ubercart/src/Plugin/migrate/source/Order.php, line 63

Class

Order
Provides migration source for orders.

Namespace

Drupal\commerce_migrate_ubercart\Plugin\migrate\source

Code

public function prepareRow(Row $row) {

  // Add refresh skip value to the row.
  $row
    ->setSourceProperty('refresh_state', OrderInterface::REFRESH_SKIP);
  $data = unserialize($row
    ->getSourceProperty('data'));

  // Ubercart 6 stores credit card information in a hash. Since this probably
  // isn't necessary so I removed it here.
  unset($data['cc_data']);
  $row
    ->setSourceProperty('data', $data);

  // Puts product order ids for this order in the row.
  $order_id = $row
    ->getSourceProperty('order_id');
  $query = $this
    ->select('uc_order_products', 'uop')
    ->fields('uop', [
    'order_product_id',
  ])
    ->condition('order_id', $order_id, '=');
  $results = $query
    ->execute()
    ->fetchCol();
  $row
    ->setSourceProperty('order_item_ids', $results);

  // The fields  uc_order_admin_comments, uc_order_comments and order_logs
  // are created by uc_order_field and uc_order_field_instance migrations.
  $value = $this
    ->getFieldValue($order_id, 'uc_order_admin_comments', 'message');
  $row
    ->setSourceProperty('order_admin_comments', $value);
  $value = $this
    ->getFieldValue($order_id, 'uc_order_comments', 'message');
  $row
    ->setSourceProperty('order_comments', $value);
  $value = $this
    ->getFieldValue($order_id, 'uc_order_log', 'changes');
  $row
    ->setSourceProperty('order_logs', $value);
  $row
    ->setSourceProperty('adjustments', $this
    ->getAdjustmentData($row));
  return parent::prepareRow($row);
}