You are here

function commerce_registration_information_checkout_form_validate in Commerce Registration 7

Same name and namespace in other branches
  1. 7.3 includes/commerce_registration.checkout_pane.inc \commerce_registration_information_checkout_form_validate()
  2. 7.2 includes/commerce_registration.checkout_pane.inc \commerce_registration_information_checkout_form_validate()

Commerce checkout pane form validation callback.

File

includes/commerce_registration.checkout_pane.inc, line 127
Checkout pane callback functions.

Code

function commerce_registration_information_checkout_form_validate($form, &$form_state, $checkout_pane, $order) {
  $order_wrapper = entity_metadata_wrapper('commerce_order', $order);
  foreach ($order_wrapper->commerce_line_items as $delta => $line_item_wrapper) {
    $type = $line_item_wrapper->commerce_product->type
      ->value();
    $can_register = registration_entity_registration_status(array(
      'id' => $line_item_wrapper->commerce_product->product_id
        ->value(),
      'type' => 'commerce_product',
      'bundle' => $type,
    ));
    if ($can_register == 1) {
      $product = $line_item_wrapper->commerce_product;
      $quantity = (int) $line_item_wrapper->quantity
        ->value();
      for ($i = 0; $i < $quantity; $i++) {
        $entity = $order->data['register_entities']['prod-' . $product->sku
          ->value()][$i];

        // let other modules do any validation necessary
        field_attach_form_validate('registration', $entity, $form['registration_information']['prod-' . $product->sku
          ->value()]['prod-' . $product->sku
          ->value() . '-reg-' . $i], $form_state);
      }
    }
  }
  return TRUE;
}