ソースを参照

temporary disable username update after subdomain change

Olivier Massot 3 年 前
コミット
4904919ebc

+ 6 - 6
src/DataPersister/Organization/SubdomainDataPersister.php

@@ -60,12 +60,12 @@ class SubdomainDataPersister extends BaseDataPersister
         }
 
         // Update the admin username
-        if ($this->isPutRequest() && $this->previousData()) {
-            if ($subdomain->isActive() && !$this->previousData()->isActive()) {
-                $this->onSubdomainChange->updateAdminUsername($subdomain->getOrganization());
-                $shallPersist = true;
-            }
-        }
+        //if ($this->isPutRequest() && $this->previousData()) {
+        //    if ($subdomain->isActive() && !$this->previousData()->isActive()) {
+        //        $this->onSubdomainChange->updateAdminUsername($subdomain->getOrganization());
+        //        $shallPersist = true;
+        //    }
+        //}
 
         if ($shallPersist) {
             $this->entityManager->flush();

+ 11 - 1
src/Service/OnChange/Organization/OnSubdomainChange.php

@@ -5,13 +5,17 @@ namespace App\Service\OnChange\Organization;
 use App\Entity\Organization\Organization;
 use App\Entity\Organization\Subdomain;
 use App\Service\MailHub;
+use Lexik\Bundle\JWTAuthenticationBundle\Services\JWTTokenManagerInterface;
+use Symfony\Component\Security\Core\Security;
 
 class OnSubdomainChange
 {
     public function __construct(
         private \App\Service\Organization\Utils $organizationUtils,
         private \App\Service\Access\Utils $accessUtils,
-        private MailHub $mailHub
+        private MailHub $mailHub,
+        private Security $security,
+        private JWTTokenManagerInterface $jwtManager,
     ) {}
 
     /**
@@ -34,6 +38,12 @@ class OnSubdomainChange
         $newUsername = 'admin' . $subdomain;
         /** @noinspection NullPointerExceptionInspection */
         $admin->getPerson()->setUsername($newUsername);
+
+        if($this->security->getUser()->getId() === $admin->getId()){
+            // todo : déplacer ça dans un service dédié
+            $jwt = $this->jwtManager->create($admin->getPerson());
+            setcookie('BEARER', $jwt, 0, '/', '.opentalent.fr', false, true);
+        }
     }
 
     /**