You are here

function commerce_order_ui_redirect_form_validate in Commerce Core 7

Validate callback: ensure a valid order was specified for viewing.

File

modules/order/commerce_order_ui.module, line 444

Code

function commerce_order_ui_redirect_form_validate($form, &$form_state) {
  $order = FALSE;

  // Attempt to load the specified order.
  if ($form_state['values']['identifier'] == 'order_number') {
    $order = commerce_order_load_by_number($form_state['values']['order_identifier']);
  }
  elseif ($form_state['values']['identifier'] == 'order_id') {
    $order = commerce_order_load($form_state['values']['order_identifier']);
  }

  // If the order could not be loaded by ID or number or the user does not have
  // view access for the order, throw an error.
  if (empty($order) || !commerce_order_access('view', $order)) {
    form_set_error('order', t('You have specified an invalid order.'));
  }
  else {

    // If all's clear, store the order in the form state.
    form_set_value($form['order'], $order, $form_state);
  }
}