diff --git a/core/modules/workflows/src/Form/WorkflowStateAddForm.php b/core/modules/workflows/src/Form/WorkflowStateAddForm.php index 0626abe..550e822 100644 --- a/core/modules/workflows/src/Form/WorkflowStateAddForm.php +++ b/core/modules/workflows/src/Form/WorkflowStateAddForm.php @@ -77,9 +77,10 @@ public function form(array $form, FormStateInterface $form_state) { $form['type_settings'] = [ '#tree' => TRUE, ]; + $subform_state = SubformState::createForSubform($form['type_settings'], $form, $form_state); $form['type_settings'] += $this->pluginFormFactory ->createInstance($workflow_type, 'state') - ->buildConfigurationForm($form['type_settings'], $form_state); + ->buildConfigurationForm($form['type_settings'], $subform_state); } return $form; @@ -147,12 +148,13 @@ public function save(array $form, FormStateInterface $form_state) { /** @var \Drupal\workflows\WorkflowInterface $workflow */ $workflow = $this->entity; $workflow_type = $workflow->getTypePlugin(); + $state = $workflow_type->getState($form_state->getValue('id')); if ($workflow_type->hasFormClass('state')) { $subform_state = SubformState::createForSubform($form['type_settings'], $form, $form_state); $this->pluginFormFactory ->createInstance($workflow_type, 'state') - ->submitConfigurationForm($form['type_settings'], $subform_state, $workflow_type->getState($form_state->getValue('id'))); + ->submitConfigurationForm($form['type_settings'], $subform_state, $state); } $workflow->save(); diff --git a/core/modules/workflows/src/Form/WorkflowStateEditForm.php b/core/modules/workflows/src/Form/WorkflowStateEditForm.php index 7935d82..4d7f82c 100644 --- a/core/modules/workflows/src/Form/WorkflowStateEditForm.php +++ b/core/modules/workflows/src/Form/WorkflowStateEditForm.php @@ -97,9 +97,10 @@ public function form(array $form, FormStateInterface $form_state) { $form['type_settings'] = [ '#tree' => TRUE, ]; + $subform_state = SubformState::createForSubform($form['type_settings'], $form, $form_state); $form['type_settings'] += $this->pluginFormFactory ->createInstance($workflow_type, 'state') - ->buildConfigurationForm($form['type_settings'], $form_state, $state); + ->buildConfigurationForm($form['type_settings'], $subform_state, $state); } $header = [ diff --git a/core/modules/workflows/src/Form/WorkflowTransitionAddForm.php b/core/modules/workflows/src/Form/WorkflowTransitionAddForm.php index e197737..46f1981 100644 --- a/core/modules/workflows/src/Form/WorkflowTransitionAddForm.php +++ b/core/modules/workflows/src/Form/WorkflowTransitionAddForm.php @@ -177,12 +177,13 @@ public function save(array $form, FormStateInterface $form_state) { /** @var \Drupal\workflows\WorkflowInterface $workflow */ $workflow = $this->entity; $workflow_type = $workflow->getTypePlugin(); + $transition = $workflow_type->getTransition($form_state->getValue('id')); if ($workflow_type->hasFormClass('transition')) { $subform_state = SubformState::createForSubform($form['type_settings'], $form, $form_state); $this->pluginFormFactory ->createInstance($workflow_type, 'transition') - ->submitConfigurationForm($form['type_settings'], $subform_state, $workflow_type->getTransition($form_state->getValue('id'))); + ->submitConfigurationForm($form['type_settings'], $subform_state, $transition); } $workflow->save();