Explorar el Código

Merge branch 'hotfix/2.4.1'

Olivier Massot hace 1 año
padre
commit
066e0fa7c2

+ 4 - 0
env/.env.prod

@@ -34,3 +34,7 @@ BIND_FILE_BUFFER_FILE=/env/subdomain.txt
 ###> filename log ###
 LOG_FILE_NAME=prod
 ###< filename log ###
+
+###> mailcatcher ###
+MAILER_DSN=smtp://localhost:25?verify_peer=false
+###< symfony/mercure-bundle ###

+ 1 - 1
src/Commands/CronCommand.php

@@ -134,7 +134,7 @@ class CronCommand extends Command
             foreach (explode(',', $jobNames) as $name) {
                 try {
                     $jobs[] = $this->cronjobIterator->getByName($name);
-                } catch (RuntimeException $e) {
+                } catch (\RuntimeException $e) {
                     $this->output->writeln($e->getMessage());
                     $this->listJobs();
 

+ 0 - 0
src/Commands/DolibarrSyncCommand.php


+ 1 - 1
src/Filter/Doctrine/TimeConstraint/TimeConstraintInterface.php

@@ -1,6 +1,6 @@
 <?php
 
-namespace App\Service\Constraint;
+namespace App\Filter\Doctrine\TimeConstraint;
 
 interface TimeConstraintInterface
 {

+ 8 - 8
src/Service/ApiResourceBuilder/Dolibarr/DolibarrAccountBuilder.php

@@ -13,11 +13,11 @@ use App\Service\Dolibarr\DolibarrApiService;
 class DolibarrAccountBuilder
 {
     public const PRODUCT_MAPPING = [
-        1 => 'PRODUCT_ARTIST',   // OT Artist
-        2 => 'PRODUCT_ARTIST_PREMIUM',   // OT Artist Premium
-        3 => 'PRODUCT_SCHOOL',   // OT School Standard
-        4 => 'PRODUCT_SCHOOL_PREMIUM',   // OT School Premium
-        5 => 'PRODUCT_MANAGER',   // OT Manager
+        'Opentalent Artist' => 'PRODUCT_ARTIST',   // OT Artist
+        'Opentalent Artist Premium' => 'PRODUCT_ARTIST_PREMIUM',   // OT Artist Premium
+        'Opentalent School' => 'PRODUCT_SCHOOL',   // OT School Standard
+        'Opentalent School Premium' => 'PRODUCT_SCHOOL_PREMIUM',   // OT School Premium
+        'Opentalent Manager' => 'PRODUCT_MANAGER',   // OT Manager
     ];
 
     public function __construct(
@@ -68,11 +68,11 @@ class DolibarrAccountBuilder
                         ->setClientNumber($accountData['code_client']);
 
         if (
-            array_key_exists('options_2iopen_software_used', $accountData['array_options'])
-            && !empty($accountData['array_options']['options_2iopen_software_used'])
+            array_key_exists('2iopen_software_opentalent', $accountData['array_options'])
+            && !empty($accountData['array_options']['2iopen_software_opentalent'])
         ) {
             $dolibarrAccount->setProduct(
-                self::PRODUCT_MAPPING[(int) $accountData['array_options']['options_2iopen_software_used']]
+                self::PRODUCT_MAPPING[$accountData['array_options']['2iopen_software_opentalent']]
             );
         }
 

+ 4 - 0
src/Service/Organization/Utils.php

@@ -19,6 +19,7 @@ class Utils
 {
     public const START_DATE_KEY = 'dateStart';
     public const END_DATE_KEY = 'dateEnd';
+    public const OUT_OF_NET_SUBDOMAIN = 'outofnet';
 
     public function __construct(
         private NetworkOrganizationRepository $networkOrganizationRepository,
@@ -268,6 +269,9 @@ class Utils
         if (!$subdomain) {
             return null;
         }
+        if ($subdomain === self::OUT_OF_NET_SUBDOMAIN) {
+            return 'https://opentalent.fr';
+        }
 
         return 'https://'.$subdomain.'.opentalent.fr';
     }

+ 5 - 1
tests/Unit/Service/Dolibarr/DolibarrAccountCreatorTest.php

@@ -115,7 +115,11 @@ class DolibarrAccountCreatorTest extends TestCase
             ->getMock();
 
         $organizationId = 1;
-        $accountData = ['id' => '2', 'code_client' => 'C2', 'array_options' => ['options_2iopen_software_used' => 1]];
+        $accountData = [
+            'id' => '2',
+            'code_client' => 'C2',
+            'array_options' => ['2iopen_software_opentalent' => 'Opentalent Artist'],
+        ];
 
         $dolibarrAccount = $dolibarrAccountCreator->createDolibarrAccount($organizationId, $accountData);
 

+ 19 - 0
tests/Unit/Service/Organization/UtilsTest.php

@@ -376,6 +376,25 @@ class UtilsTest extends TestCase
         $this->assertEquals(null, $organizationUtils->getOrganizationWebsite($organization));
     }
 
+    /**
+     * @see OrganizationUtils::getOrganizationWebsite()
+     */
+    public function testOrganizationWebsiteOutOfNetSubdomain(): void
+    {
+        $organizationUtils = $this->getOrganizationUtilsMockFor('getOrganizationWebsite');
+
+        $parameters = $this->getMockBuilder(Parameters::class)->getMock();
+        $parameters->method('getDesactivateOpentalentSiteWeb')->willReturn(false);
+        $parameters->method('getCustomDomain')->willReturn(null);
+
+        $organization = $this->getMockBuilder(Organization::class)->getMock();
+        $organization->method('getParameters')->willReturn($parameters);
+
+        $organizationUtils->method('getOrganizationActiveSubdomain')->with($organization)->willReturn('outofnet');
+
+        $this->assertEquals('https://opentalent.fr', $organizationUtils->getOrganizationWebsite($organization));
+    }
+
     /**
      * @see Utils::isLastParentAndCMF()
      */