Selaa lähdekoodia

Merge branch 'feature/V8-5978-erreur-online_registrationstatus' into develop

Olivier Massot 1 vuosi sitten
vanhempi
commit
ee21852d11

+ 5 - 3
src/Service/Security/Module.php

@@ -130,10 +130,12 @@ class Module
     {
         $opentalentProducts = $this->parameterBag->get('opentalent.products');
 
-        if (!array_key_exists($product->value, $opentalentProducts)) {
-            throw new AccessDeniedHttpException(sprintf('The product %s does not exist !', $product->value));
+        $productKey = str_replace('-', '_', $product->value);
+
+        if (!array_key_exists($productKey, $opentalentProducts)) {
+            throw new AccessDeniedHttpException(sprintf('The product %s does not exist !', $productKey));
         }
-        $productConfig = $opentalentProducts[$product->value];
+        $productConfig = $opentalentProducts[$productKey];
         $modules = $productConfig['modules'] ?? [];
 
         if (array_key_exists('extend', $productConfig)) {

+ 9 - 5
src/State/Provider/OnlineRegistration/RegistrationStatusProvider.php

@@ -22,6 +22,8 @@ class RegistrationStatusProvider implements ProviderInterface
     /**
      * @param mixed[] $uriVariables
      * @param mixed[] $context
+     *
+     * @throws \JsonException
      */
     public function provide(Operation $operation, array $uriVariables = [], array $context = []): ?RegistrationStatus
     {
@@ -38,10 +40,12 @@ class RegistrationStatusProvider implements ProviderInterface
         // --- L'appel au service remplacera l'appel à l'API v1 à l'avenir --
         // $registrationStatusValue = $this->registrationStatusService->getStatus($currentAccess);
 
-        $response = $this->apiLegacyRequestService->getJsonContent('/api/online_registration/registration_status');
-        if (!isset($response['status'])) {
-            throw new \RuntimeException('An error occured', 500);
-        }
+        $response = $this->apiLegacyRequestService->getJsonContent(
+            '/api/online_registration/registration_status',
+            [],
+            [],
+            false
+        );
 
         $statusMap = [
             'your_application_is_awaiting_processing' => RegistrationStatusEnum::NEGOTIABLE,
@@ -51,7 +55,7 @@ class RegistrationStatusProvider implements ProviderInterface
             null => null,
         ];
 
-        $status = $statusMap[$response['status']];
+        $status = isset($response['status']) ? $statusMap[$response['status']] : null;
 
         $registrationStatus = new RegistrationStatus();
         $registrationStatus->setAccessId($currentAccess->getId());