Commit 9957cc05 authored by alexpott's avatar alexpott

Issue #3100496 by amateescu, Donnyboypony, alexpott, Berdir, daffie,...

Issue #3100496 by amateescu, Donnyboypony, alexpott, Berdir, daffie, PapaGrande: Workspaces should only alter non-deprecated path_alias services

(cherry picked from commit 802719a5)
parent d99446d9
......@@ -136,6 +136,9 @@ public function alter(ContainerBuilder $container) {
foreach ($services as $id => $class) {
if (!$container->hasDefinition($id)) {
$definition = $container->register($id, $class);
// Mark the fallback services as deprecated in order to allow other
// modules to provide additional checks before relying or altering them.
$definition->setDeprecated(TRUE, 'The "%service_id%" service is in fallback mode. See https://drupal.org/node/3092086');
switch ($id) {
case 'path_alias.subscriber':
$definition->addArgument(new Reference('path.alias_manager'));
......
......@@ -22,9 +22,14 @@ public function alter(ContainerBuilder $container) {
$container->setParameter('renderer.config', $renderer_config);
// Replace the class of the 'path_alias.repository' service.
$container->getDefinition('path_alias.repository')
->setClass(WorkspacesAliasRepository::class)
->addMethodCall('setWorkspacesManager', [new Reference('workspaces.manager')]);
if ($container->hasDefinition('path_alias.repository')) {
$definition = $container->getDefinition('path_alias.repository');
if (!$definition->isDeprecated()) {
$definition
->setClass(WorkspacesAliasRepository::class)
->addMethodCall('setWorkspacesManager', [new Reference('workspaces.manager')]);
}
}
// Ensure that there's no active workspace while running database updates by
// removing the relevant tag from all workspace negotiator services.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment