You are here

public function SalesforceMappingFieldsForm::submitForm in Salesforce Suite 8.3

Submit handler.

Overrides EntityForm::submitForm

File

modules/salesforce_mapping/src/Form/SalesforceMappingFieldsForm.php, line 271

Class

SalesforceMappingFieldsForm
Salesforce Mapping Fields Form.

Namespace

Drupal\salesforce_mapping\Form

Code

public function submitForm(array &$form, FormStateInterface $form_state) {

  // Need to transform the schema slightly to remove the "config" dereference.
  // Also trigger submit handlers on plugins.
  $form_state
    ->unsetValue([
    'field_type',
    'ops',
  ]);
  $values =& $form_state
    ->getValues();
  foreach ($values['field_mappings'] as $i => &$value) {

    // Pass submit values to plugin submit handler.
    $field_plugin = $this->entity
      ->getFieldMapping($value);
    $sub_form_state = SubformState::createForSubform($form['field_mappings_wrapper']['field_mappings'][$i], $form, $form_state);
    $field_plugin
      ->submitConfigurationForm($form['field_mappings_wrapper']['field_mappings'][$i], $sub_form_state);
    $value = $value + $value['config'];
    unset($value['config'], $value['ops']);
  }
  parent::submitForm($form, $form_state);
}