public function WebformHandlerFormBase::submitForm in Webform 6.x
Same name and namespace in other branches
- 8.5 src/Form/WebformHandlerFormBase.php \Drupal\webform\Form\WebformHandlerFormBase::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/ WebformHandlerFormBase.php, line 299
Class
- WebformHandlerFormBase
- Provides a base webform for webform handlers.
Namespace
Drupal\webform\FormCode
public function submitForm(array &$form, FormStateInterface $form_state) {
$form_state
->cleanValues();
// The webform handler configuration is stored in the 'settings' key in
// the webform, pass that through for submission.
$subform_state = SubformState::createForSubform($form['settings'], $form, $form_state);
$this->webformHandler
->submitConfigurationForm($form, $subform_state);
// Update the original webform values.
$form_state
->setValue('settings', $subform_state
->getValues());
$this->webformHandler
->setHandlerId($form_state
->getValue('handler_id'));
$this->webformHandler
->setLabel($form_state
->getValue('label'));
$this->webformHandler
->setNotes($form_state
->getValue('notes'));
$this->webformHandler
->setStatus($form_state
->getValue('status'));
$this->webformHandler
->setWeight($form_state
->getValue('weight'));
// Clear conditions if conditions or handler is disabled.
if (!$this->webformHandler
->supportsConditions() || $this->webformHandler
->isDisabled()) {
$this->webformHandler
->setConditions([]);
}
else {
$this->webformHandler
->setConditions($form_state
->getValue('conditions'));
}
if ($this instanceof WebformHandlerAddForm) {
$this->webform
->addWebformHandler($this->webformHandler);
$this
->messenger()
->addStatus($this
->t('The webform handler was successfully added.'));
}
else {
$this->webform
->updateWebformHandler($this->webformHandler);
$this
->messenger()
->addStatus($this
->t('The webform handler was successfully updated.'));
}
$form_state
->setRedirectUrl($this->webform
->toUrl('handlers', [
'query' => [
'update' => $this->webformHandler
->getHandlerId(),
],
]));
}