You are here

function commerce_registration_modify_entity_registration_form in Commerce Registration 7.3

Helper function that adds registration settings to the form.

2 calls to commerce_registration_modify_entity_registration_form()
commerce_registration_form_commerce_product_ui_product_form_alter in ./commerce_registration.module
Implements hook_form_FORM_ID_alter().
commerce_registration_inline_entity_form_entity_form_alter in ./commerce_registration.module
Implements hook_inline_entity_form_entity_form_alter().

File

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

Code

function commerce_registration_modify_entity_registration_form(&$form, &$form_state) {
  if ($form['#entity_type'] == 'commerce_product') {
    $field_instance = commerce_registration_registration_field_instance($form['#entity_type'], $form['#entity']);
    if ($field_instance !== FALSE) {
      $empty = array();
      $settings = array();
      list($entity_id) = entity_extract_ids($form['#entity_type'], $form['#entity']);
      if (!empty($entity_id)) {
        $settings = registration_entity_settings($form['#entity_type'], $entity_id);
      }
      if (empty($settings)) {
        $settings = $field_instance['settings']['default_registration_settings'];
      }
      $weight = $form[$field_instance['field_name']]['#weight'] + 1;
      $settings_form = registration_entity_settings_form(array(), $empty, $settings, 'commerce_product', $entity_id);
      unset($settings_form['save']);
      $form[$field_instance['field_name'] . '_settings'] = array(
        '#tree' => TRUE,
        '#title' => t('Registration Settings'),
        '#type' => 'fieldset',
        '#collapsible' => TRUE,
        '#collapsed' => TRUE,
        '#element_validate' => array(
          'commerce_registration_entity_registration_form_submit',
        ),
        '#weight' => $weight,
      ) + $settings_form;

      // Add our additional settings to the form.
      drupal_alter('commerce_registration_registration_settings_form', $form[$field_instance['field_name'] . '_settings']['settings'], $form_state, $settings);
    }
  }
}