diff --git a/core/lib/Drupal/Core/Config/TypedConfigManager.php b/core/lib/Drupal/Core/Config/TypedConfigManager.php index 647d00f..63f082b 100644 --- a/core/lib/Drupal/Core/Config/TypedConfigManager.php +++ b/core/lib/Drupal/Core/Config/TypedConfigManager.php @@ -12,6 +12,7 @@ use Drupal\Component\Utility\NestedArray; use Drupal\Component\Utility\String; use Drupal\Core\Cache\CacheBackendInterface; +use Drupal\Core\Config\Schema\SchemaIncompleteException; /** * Manages config type plugins. @@ -152,8 +153,10 @@ public function getDefinition($base_plugin_id) { $type = $name; } else { - // If we don't have definition, return the 'default' element. - // This should map to 'undefined' type by default, unless overridden. + if ($base_plugin_id != 'views.filter_value.language') { + // @todo this is temporary not really for commit. + throw new SchemaIncompleteException($base_plugin_id . " is missing schema."); + } $type = 'default'; } $definition = $definitions[$type]; diff --git a/core/lib/Drupal/Core/Form/FormBase.php b/core/lib/Drupal/Core/Form/FormBase.php index 0bfa753..5dedf6c 100644 --- a/core/lib/Drupal/Core/Form/FormBase.php +++ b/core/lib/Drupal/Core/Form/FormBase.php @@ -130,6 +130,13 @@ public function setConfigFactory(ConfigFactoryInterface $config_factory) { } /** + * Resets the configuration factory. + */ + public function resetConfigFactory() { + $this->configFactory = NULL; + } + + /** * Gets the request object. * * @return \Symfony\Component\HttpFoundation\Request $request diff --git a/core/lib/Drupal/Core/Installer/Form/SiteConfigureForm.php b/core/lib/Drupal/Core/Installer/Form/SiteConfigureForm.php index 188dbbd..e22f5dc 100644 --- a/core/lib/Drupal/Core/Installer/Form/SiteConfigureForm.php +++ b/core/lib/Drupal/Core/Installer/Form/SiteConfigureForm.php @@ -254,6 +254,8 @@ public function submitForm(array &$form, array &$form_state) { // Add the site maintenance account's email address to the list of // addresses to be notified when updates are available, if selected. if ($form_state['values']['update_status_module'][2]) { + // Reset the configuration factory so it is updated with the new module. + $this->resetConfigFactory(); $this->config('update.settings')->set('notification.emails', array($form_state['values']['account']['mail']))->save(); } }