Commit 6f3f342a authored by Andrei Vesterli's avatar Andrei Vesterli
Browse files

Issue #3160424 by imclean, andrei.vesterli: Support Inline Entity Form

parent d2f58df1
Loading
Loading
Loading
Loading
+22 −1
Original line number Diff line number Diff line
@@ -7,6 +7,7 @@

use Drupal\Core\Form\FormStateInterface;
use Drupal\simple_multistep\MultistepController;
use Drupal\field_group\FormatterHelper;

/**
 * Implements hook_form_alter().
@@ -102,7 +103,7 @@ function simple_multistep_multistep_validate(&$form, FormStateInterface &$form_s
  // Need update form state after submission.
  $multiStep->setFormState($form_state);

  $stored_values = $multiStep->getStoredValues();
  $stored_values = $multiStep->getInputValues();

  if (!empty($stored_values)) {
    foreach ($stored_values as $value_list) {
@@ -169,3 +170,23 @@ function simple_multistep_field_widget_file_generic_form_alter(&$element, FormSt
function simple_multistep_field_widget_image_image_form_alter(&$element, FormStateInterface $form_state, $context) {
  $element = _simple_multistep_fix_widget_elements($element);
}

/**
 * Implements hook_inline_entity_form_entity_form_alter().
 */
function simple_multistep_inline_entity_form_entity_form_alter(&$entity_form, FormStateInterface $form_state) {

  // Attach the fieldgroups to current entity form.
  $context = [
    'entity_type' => $entity_form['#entity']->getEntityTypeId(),
    'bundle' => $entity_form['#entity']->bundle(),
    'entity' => $entity_form['#entity'],
    'display_context' => 'form',
    'mode' => isset($entity_form['#form_mode']) ? $entity_form['#form_mode'] : 'default',
  ];

  field_group_attach_groups($entity_form, $context);
  FormatterHelper::formProcess($entity_form, $form_state);

  simple_multistep_form_alter($entity_form, $form_state);
}
+6 −1
Original line number Diff line number Diff line
@@ -77,8 +77,13 @@ class FormButton extends FormStep {
    // On last step hide next button and show save button.
    else {
      $form['actions']['submit']['#access'] = TRUE;
      if (isset($form['#validate'])) {
        array_unshift($form['#validate'], 'simple_multistep_multistep_validate');
      }
      else {
        $form['#validate'][] = 'simple_multistep_multistep_validate';
      }
    }
  }

  /**