You are here

function commerce_registration_entity_registration_form_submit in Commerce Registration 7.3

Submit handler to save registration settings.

1 string reference to 'commerce_registration_entity_registration_form_submit'
commerce_registration_modify_entity_registration_form in ./commerce_registration.module
Helper function that adds registration settings to the form.

File

./commerce_registration.module, line 511
Commerce Registration module code.

Code

function commerce_registration_entity_registration_form_submit($form, $form_state) {
  if (isset($form_state['inline_entity_form'])) {
    if ($form_state['triggering_element']['#value'] != 'Cancel') {

      // We came from an IEF form, and the user didn't hit 'cancel'.
      foreach ($form_state['values']['field_products'][LANGUAGE_NONE]['entities'] as $product) {
        if (isset($product['form'])) {

          // There is form data to process, so process it and update settings.
          $product_id = commerce_product_load_by_sku($product['form']['sku']);
          $field_instance = commerce_registration_registration_field_instance('commerce_product', $product_id);
          $product_id = $product_id->product_id;
          $settings = $product['form'][$field_instance['field_name'] . '_settings'];
          $fields = registration_convert_form_settings($settings);
          registration_update_entity_settings('commerce_product', $product_id, $fields);
        }
      }
    }
  }
  else {

    // We came from a normal form, so find settings in the form state.
    $product = $form_state['commerce_product'];
    $field_instance = commerce_registration_registration_field_instance('commerce_product', $product);
    $settings = $form_state['values'][$field_instance['field_name'] . '_settings'];
    $fields = registration_convert_form_settings($settings);
    registration_update_entity_settings('commerce_product', $product->product_id, $fields);
  }
}