Browse Source

cherry pick "fix artist_premium is not a valid backing value error"

Olivier Massot 1 năm trước cách đây
mục cha
commit
9d52ca54b4
2 tập tin đã thay đổi với 11 bổ sung9 xóa
  1. 4 4
      config/opentalent/products.yaml
  2. 7 5
      src/Service/Security/Module.php

+ 4 - 4
config/opentalent/products.yaml

@@ -290,14 +290,14 @@ parameters:
           - Statistic
           - Dolibarr
 
-      artist_premium:
+      artist-premium:
         extend: artist
         modules:
           - MessagesAdvanced
           - TaggAdvanced
 
       school:
-        extend: artist_premium
+        extend: artist-premium
         modules:
           - PedagogicsAdministation
           - PedagogicsSeizure
@@ -309,7 +309,7 @@ parameters:
           - BillingAdministration
           - TemplateMessages
 
-      school_premium:
+      school-premium:
         extend: school
         modules: ~
 
@@ -317,7 +317,7 @@ parameters:
         extend: artist-premium
         modules: ~
 
-      manager_premium:
+      manager-premium:
         extend: manager
         modules:
           - CorePremium

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

@@ -128,17 +128,19 @@ class Module
      */
     public function getModulesByProductConfiguration(SettingsProductEnum $product): ?array
     {
-        $product = str_replace('-', '_', $product->value);
         $opentalentProducts = $this->parameterBag->get('opentalent.products');
 
-        if (!array_key_exists($product, $opentalentProducts)) {
-            throw new AccessDeniedHttpException(sprintf('The product %s does not exist !', $product));
+        if (!array_key_exists($product->value, $opentalentProducts)) {
+            throw new AccessDeniedHttpException(sprintf('The product %s does not exist !', $product->value));
         }
-        $productConfig = $opentalentProducts[$product];
+        $productConfig = $opentalentProducts[$product->value];
         $modules = $productConfig['modules'] ?? [];
 
         if (array_key_exists('extend', $productConfig)) {
-            $modules = array_merge($modules, $this->getModulesByProductConfiguration(SettingsProductEnum::from($productConfig['extend'])));
+            $modules = array_merge(
+                $modules,
+                $this->getModulesByProductConfiguration(SettingsProductEnum::from($productConfig['extend']))
+            );
             unset($productConfig['extend']);
         }