function ModulesListConfirmForm::submitForm
Same name and namespace in other branches
- 9 core/modules/system/src/Form/ModulesListConfirmForm.php \Drupal\system\Form\ModulesListConfirmForm::submitForm()
- 10 core/modules/system/src/Form/ModulesListConfirmForm.php \Drupal\system\Form\ModulesListConfirmForm::submitForm()
- 11.x core/modules/system/src/Form/ModulesListConfirmForm.php \Drupal\system\Form\ModulesListConfirmForm::submitForm()
Overrides FormInterface::submitForm
File
-
core/
modules/ system/ src/ Form/ ModulesListConfirmForm.php, line 161
Class
- ModulesListConfirmForm
- Builds a confirmation form for enabling modules with dependencies.
Namespace
Drupal\system\FormCode
public function submitForm(array &$form, FormStateInterface $form_state) {
// Remove the key value store entry.
$account = $this->currentUser()
->id();
$this->keyValueExpirable
->delete($account);
if (!empty($this->modules['install'])) {
// Don't catch the exception that this can throw for missing dependencies:
// the form doesn't allow modules with unmet dependencies, so the only way
// this can happen is if the filesystem changed between form display and
// submit, in which case the user has bigger problems.
try {
// Install the given modules.
$this->moduleInstaller
->install(array_keys($this->modules['install']));
} catch (PreExistingConfigException $e) {
$config_objects = $e->flattenConfigObjects($e->getConfigObjects());
$this->messenger()
->addError($this->formatPlural(count($config_objects), 'Unable to install @extension, %config_names already exists in active configuration.', 'Unable to install @extension, %config_names already exist in active configuration.', [
'%config_names' => implode(', ', $config_objects),
'@extension' => $this->modules['install'][$e->getExtension()],
]));
return;
} catch (UnmetDependenciesException $e) {
$this->messenger()
->addError($e->getTranslatedMessage($this->getStringTranslation(), $this->modules['install'][$e->getExtension()]));
return;
}
$module_names = array_values($this->modules['install']);
$this->messenger()
->addStatus($this->formatPlural(count($module_names), 'Module %name has been enabled.', '@count modules have been enabled: %names.', [
'%name' => $module_names[0],
'%names' => implode(', ', $module_names),
]));
}
$form_state->setRedirectUrl($this->getCancelUrl());
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.