Issue #3376376: HelpSectionManager::clearCachedDefinitions breaks the update system

merge-requests/4177/merge
Lee Rowlands 2023-07-24 18:51:15 +10:00
parent b28e3b7651
commit e482afdd29
No known key found for this signature in database
GPG Key ID: 2B829A3DF9204DC4
2 changed files with 14 additions and 3 deletions

View File

@ -148,7 +148,7 @@ function _help_search_update(array $extensions = []): void {
return;
}
if (\Drupal::service('update.update_hook_registry')->getInstalledVersion('help') >= 10100) {
if (_help_is_fully_installed()) {
// Ensure that topics for extensions that have been uninstalled are removed
// and that the index state variable is updated.
$help_search = \Drupal::service('plugin.manager.search')->createInstance('help_search');
@ -156,3 +156,15 @@ function _help_search_update(array $extensions = []): void {
$help_search->updateIndexState();
}
}
/**
* Checks whether the help module installation is complete.
*
* @return bool
*
* @see \help_update_10200()
*/
function _help_is_fully_installed(): bool {
return \Drupal::service('update.update_hook_registry')
->getInstalledVersion('help') >= 10200;
}

View File

@ -57,8 +57,7 @@ class HelpSectionManager extends DefaultPluginManager {
*/
public function clearCachedDefinitions() {
parent::clearCachedDefinitions();
$version = \Drupal::service('update.update_hook_registry')->getInstalledVersion('help');
if ($this->searchManager && $version >= 10100) {
if ($this->searchManager && _help_is_fully_installed()) {
// Rebuild the index on cache clear so that new help topics are indexed
// and any changes due to help topics edits or translation changes are
// picked up.