function commerce_webform_order_create in Commerce Webform 7
Same name and namespace in other branches
- 8 commerce_webform.rules.inc \commerce_webform_order_create()
- 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']);
}