public function BulkUpdateFieldsForm::submitForm in Bulk Update Fields 8.2
Same name and namespace in other branches
- 8 src/Form/BulkUpdateFieldsForm.php \Drupal\bulk_update_fields\Form\BulkUpdateFieldsForm::submitForm()
Form submission handler.
Parameters
array $form: An associative array containing the structure of the form.
\Drupal\Core\Form\FormStateInterface $form_state: The current state of the form.
Overrides FormInterface::submitForm
File
- src/
Form/ BulkUpdateFieldsForm.php, line 126
Class
- BulkUpdateFieldsForm
- BulkUpdateFieldsForm.
Namespace
Drupal\bulk_update_fields\FormCode
public function submitForm(array &$form, FormStateInterface $form_state) {
switch ($this->step) {
case 1:
$this->userInput['fields'] = array_filter($form_state
->getValues()['table']);
$form_state
->setRebuild();
break;
case 2:
$form_state_values = $form_state
->getValues();
foreach ($form_state_values as $field_name => $form_state_value) {
// Paragraphs dont allow defaults.
// Force it with just values.
if ($field_name != 'default_value_input' && is_array($form_state_value)) {
$form_state_values['default_value_input'][$field_name] = $form_state_value;
foreach ($form_state_value as $key => $value) {
if (!is_numeric($key)) {
unset($form_state_values['default_value_input'][$field_name][$key]);
}
elseif (isset($form['default_value_input'][$field_name]['widget'][$key]['#paragraph_type'])) {
$form_state_values['default_value_input'][$field_name][$key]['paragraph_type'] = $form['default_value_input'][$field_name]['widget'][$key]['#paragraph_type'];
}
}
}
}
if (isset($this->userInput['fields']) && isset($form_state_values['default_value_input'])) {
$this->userInput['fields'] = array_merge($this->userInput['fields'], $form_state_values['default_value_input']);
}
$form_state
->setRebuild();
break;
case 3:
if (method_exists($this, 'updateFields')) {
$return_verify = $this
->updateFields();
}
$this
->messenger()
->addStatus($return_verify);
$this->routeBuilder
->rebuild();
break;
}
$this->step++;
}