You are here

function commerce_addressbook_saved_addresses_validate in Commerce Addressbook 7.3

Same name and namespace in other branches
  1. 7 commerce_addressbook.module \commerce_addressbook_saved_addresses_validate()
  2. 7.2 commerce_addressbook.module \commerce_addressbook_saved_addresses_validate()

Element validate callback: processes input of the profile selection list.

1 string reference to 'commerce_addressbook_saved_addresses_validate'
commerce_addressbook_pane_checkout_form in ./commerce_addressbook.checkout_pane.inc
Checkout pane callback: returns a customer profile edit form.

File

./commerce_addressbook.checkout_pane.inc, line 356
Based on commerce/modules/customer/commerce_customer.checkout_pane.inc

Code

function commerce_addressbook_saved_addresses_validate($element, &$form_state, $form) {
  if (in_array('profile_selection', $form_state['triggering_element']['#parents']) && $form_state['triggering_element']['#id'] == $element['#id']) {
    $pane_id = $element['#parents'][0];

    // If the user wants to enter a new address.
    if ($element['#value'] == 'new_address') {
      global $user;
      $form_state['pane_' . $pane_id]['mode'] = 'edit';
      $type = substr($pane_id, 17);
      $form_state['pane_' . $pane_id]['profile'] = commerce_customer_profile_new($type, $user->uid);
    }
    else {
      $form_state['pane_' . $pane_id]['mode'] = 'view';
      $form_state['pane_' . $pane_id]['profile'] = commerce_customer_profile_load($element['#value']);
    }
    $form_state['rebuild'] = TRUE;
  }
}