Issue #3100496 by amateescu, Donnyboypony, alexpott, Berdir, daffie, PapaGrande: Workspaces should only alter non-deprecated path_alias services
parent
88bdfdda0c
commit
802719a568
|
@ -136,6 +136,9 @@ class CoreServiceProvider implements ServiceProviderInterface, ServiceModifierIn
|
|||
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 @@ class WorkspacesServiceProvider extends ServiceProviderBase {
|
|||
$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.
|
||||
|
|
Loading…
Reference in New Issue