From 7859439f0bc25599ff2a424a4105c6866d6e9a6c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Fastr=C3=A9?= Date: Thu, 12 May 2022 13:30:28 +0200 Subject: [PATCH] fix remote calendar compiler to allow to compile kernel without any configuration --- .../DependencyInjection/RemoteCalendarCompilerPass.php | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/Bundle/ChillCalendarBundle/RemoteCalendar/DependencyInjection/RemoteCalendarCompilerPass.php b/src/Bundle/ChillCalendarBundle/RemoteCalendar/DependencyInjection/RemoteCalendarCompilerPass.php index 5724eabcf..7d164a995 100644 --- a/src/Bundle/ChillCalendarBundle/RemoteCalendar/DependencyInjection/RemoteCalendarCompilerPass.php +++ b/src/Bundle/ChillCalendarBundle/RemoteCalendar/DependencyInjection/RemoteCalendarCompilerPass.php @@ -11,7 +11,9 @@ declare(strict_types=1); namespace Chill\CalendarBundle\RemoteCalendar\DependencyInjection; +use Chill\CalendarBundle\Command\AzureGrantAdminConsentAndAcquireToken; use Chill\CalendarBundle\Command\MapUserCalendarCommand; +use Chill\CalendarBundle\Controller\RemoteCalendarConnectAzureController; use Chill\CalendarBundle\RemoteCalendar\Connector\MSGraphRemoteCalendarConnector; use Chill\CalendarBundle\RemoteCalendar\Connector\NullRemoteCalendarConnector; use Chill\CalendarBundle\RemoteCalendar\Connector\RemoteCalendarConnectorInterface; @@ -27,21 +29,25 @@ class RemoteCalendarCompilerPass implements CompilerPassInterface $config = $container->getParameter('chill_calendar'); $connector = null; - if ($config['remote_calendars_sync']['enabled']) { + if (!$config['remote_calendars_sync']['enabled']) { $connector = NullRemoteCalendarConnector::class; } if ($config['remote_calendars_sync']['microsoft_graph']['enabled']) { $connector = MSGraphRemoteCalendarConnector::class; + } else { // remove services which cannot be loaded $container->removeDefinition(MapUserCalendarCommand::class); + $container->removeDefinition(AzureGrantAdminConsentAndAcquireToken::class); + $container->removeDefinition(RemoteCalendarConnectAzureController::class); } - if (!$container->hasAlias(Azure::class)) { + if (!$container->hasAlias(Azure::class) && $container->hasDefinition('knpu.oauth2.client.azure')) { $container->setAlias(Azure::class, 'knpu.oauth2.provider.azure'); } + if (null === $connector) { throw new RuntimeException('Could not configure remote calendar'); }