diff --git a/src/Form/BasicSetup.php b/src/Form/BasicSetup.php index 79d4ac8..f66e1a8 100644 --- a/src/Form/BasicSetup.php +++ b/src/Form/BasicSetup.php @@ -256,8 +256,22 @@ class BasicSetup extends FormBase { '@uid' => $account->id(), ]); - $params = array('account' => $account); - \Drupal::service('plugin.manager.mail')->mail('tfa', 'tfa_enabled_configuration', $account->getEmail(), $account->getPreferredLangcode(), $params); + // @todo - Temporary fix for preventing emails from sending when setting up a fallback plugin. + // @todo - Remove this check along side removal of fallback concept in #2924691 + $validation_plugin_manager = \Drupal::service('plugin.manager.tfa.validation'); + $validation_plugins = $validation_plugin_manager->getDefinitions(); + $validation_plugin_id = str_replace('_setup', '', $storage['step_method']); + $current_plugin_is_fallback = FALSE; + + if (isset($validation_plugins[$validation_plugin_id])) { + $validation_plugin = $validation_plugin_manager->createInstance($validation_plugin_id, ['uid' => $account->id()]); + $current_plugin_is_fallback = $validation_plugin->isFallback(); + } + + if (!$current_plugin_is_fallback) { + $params = array('account' => $account); + \Drupal::service('plugin.manager.mail')->mail('tfa', 'tfa_enabled_configuration', $account->getEmail(), $account->getPreferredLangcode(), $params); + } } } }