You are here

function commerce_webform_order_create in Commerce Webform 7

Same name and namespace in other branches
  1. 8 commerce_webform.rules.inc \commerce_webform_order_create()
  2. 7.2 commerce_webform.rules.inc \commerce_webform_order_create()

Rules action callback. Adds the product stored in a webform submission to the users cart.

1 call to commerce_webform_order_create()
commerce_webform_order_update in ./commerce_webform.rules.inc
Rules actions. Update an order from a commerce webform update.

File

./commerce_webform.rules.inc, line 115
Rules extras supplied by the commerce webform module.

Code

function commerce_webform_order_create($node, $webform_submission, $user) {
  $uid = empty($user) ? 0 : $user->uid;
  $product_details = commerce_webform_get_products_from_webform_submission($webform_submission);
  if (empty($product_details)) {
    return;
  }
  $order_id = 0;
  if ($uid && isset($node->webform['commerce_webform_new_order']) && $node->webform['commerce_webform_new_order']) {

    // Create the new order in checkout.
    $order = commerce_order_new($uid, 'checkout_checkout');

    // Save the order to get its ID.
    commerce_order_save($order);
    $order_id = $order->order_id;
  }

  // Add all the products chosen as line items to the order.
  _commerce_webform_create_order_line_items($product_details, $order_id, $uid, $node->nid, $webform_submission['sid']);
}