You are here

function inline_entity_form_open_form in Inline Entity Form 7

Same name and namespace in other branches
  1. 8 inline_entity_form.module \inline_entity_form_open_form()

Button #submit callback: Opens a form in the IEF widget.

The form is shown below the entity table, at the bottom of the widget.

Parameters

$form: The complete parent form.

$form_state: The form state of the parent form.

1 string reference to 'inline_entity_form_open_form'
inline_entity_form_field_widget_form in ./inline_entity_form.module
Implements hook_field_widget_form().

File

./inline_entity_form.module, line 1317
Provides a widget for inline management (creation, modification, removal) of referenced entities. The primary use case is the parent -> children one (for example, order -> line items), where the child entities are never managed outside the…

Code

function inline_entity_form_open_form($form, &$form_state) {
  $element = inline_entity_form_get_element($form, $form_state);
  $ief_id = $element['#ief_id'];
  $form_state['rebuild'] = TRUE;

  // Get the current form values.
  $parents = array_merge($element['#field_parents'], array(
    $element['#field_name'],
    $element['#language'],
  ));
  $form_values = drupal_array_get_nested_value($form_state['values'], $parents);
  $form_state['inline_entity_form'][$ief_id]['form'] = $form_state['triggering_element']['#ief_form'];
  $form_state['inline_entity_form'][$ief_id]['form settings'] = array();

  // Special code for the add form.
  if (!empty($form_values['actions']['bundle'])) {
    $form_state['inline_entity_form'][$ief_id]['form settings']['bundle'] = $form_values['actions']['bundle'];
  }

  // Special code for the clone form.
  if (isset($form_state['triggering_element']['#ief_row_delta'])) {
    $form_state['inline_entity_form'][$ief_id]['form settings']['source'] = $form_state['triggering_element']['#ief_row_delta'];
  }
}