소스 검색

Merge branch 'feature/fix_error_with_enums' into develop

Olivier Massot 1 년 전
부모
커밋
a5caeeb88f
3개의 변경된 파일12개의 추가작업 그리고 10개의 파일을 삭제
  1. 5 5
      src/Entity/Organization/Parameters.php
  2. 1 1
      src/Enum/EnumMethodsTrait.php
  3. 6 4
      src/Enum/Organization/BulletinCriteriaSortEnum.php

+ 5 - 5
src/Entity/Organization/Parameters.php

@@ -12,6 +12,7 @@ use App\Entity\Core\File;
 use App\Enum\Core\TimeZoneEnum;
 use App\Enum\Education\AdvancedEducationNotationTypeEnum;
 use App\Enum\Education\PeriodicityEnum;
+use App\Enum\Organization\BulletinCriteriaSortEnum;
 use App\Enum\Organization\BulletinOutputEnum;
 use App\Enum\Organization\BulletinPeriodEnum;
 use App\Enum\Organization\SendToBulletinEnum;
@@ -129,9 +130,8 @@ class Parameters
     #[ORM\Column(length: 255, nullable: true, enumType: SendToBulletinEnum::class, options: ['default' => SendToBulletinEnum::STUDENTS_AND_THEIR_GUARDIANS])]
     private ?SendToBulletinEnum $bulletinReceiver = SendToBulletinEnum::STUDENTS_AND_THEIR_GUARDIANS;
 
-    #[ORM\Column(length: 255, nullable: false, options: ['default' => 'BY_CRITERIA_INSERT'])]
-    #[Assert\Choice(callback: ['\\App\\Enum\\Organization\\BulletinCriteriaSortEnum', 'toArray'], message: 'invalid-bulletin-criteria-sort')]
-    private string $bulletinCriteriaSort = 'BY_CRITERIA_INSERT';
+    #[ORM\Column(length: 255, nullable: false, enumType: BulletinCriteriaSortEnum::class, options: ['default' => BulletinCriteriaSortEnum::BY_CRITERIA_INSERT])]
+    private ?BulletinCriteriaSortEnum $bulletinCriteriaSort = null;
 
     #[ORM\Column(length: 255, nullable: true)]
     private ?string $usernameSMS = null;
@@ -507,12 +507,12 @@ class Parameters
         return $this;
     }
 
-    public function getBulletinCriteriaSort(): string
+    public function getBulletinCriteriaSort(): ?BulletinCriteriaSortEnum
     {
         return $this->bulletinCriteriaSort;
     }
 
-    public function setBulletinCriteriaSort(string $bulletinCriteriaSort): self
+    public function setBulletinCriteriaSort(?BulletinCriteriaSortEnum $bulletinCriteriaSort): self
     {
         $this->bulletinCriteriaSort = $bulletinCriteriaSort;
 

+ 1 - 1
src/Enum/EnumMethodsTrait.php

@@ -27,6 +27,6 @@ trait EnumMethodsTrait
      */
     public static function array(): array
     {
-        return array_combine(self::values(), self::names());
+        return array_combine(self::names(), self::values());
     }
 }

+ 6 - 4
src/Enum/Organization/BulletinCriteriaSortEnum.php

@@ -4,13 +4,15 @@ declare(strict_types=1);
 
 namespace App\Enum\Organization;
 
-use MyCLabs\Enum\Enum;
+use App\Enum\EnumMethodsTrait;
 
 /**
  * Type de tri des critères des bulletins.
  */
-class BulletinCriteriaSortEnum extends Enum
+enum BulletinCriteriaSortEnum: string
 {
-    private const ALPHANUM = 'ALPHANUM';
-    private const BY_CRITERIA_INSERT = 'BY_CRITERIA_INSERT';
+    use EnumMethodsTrait;
+
+    case ALPHANUM = 'ALPHANUM';
+    case BY_CRITERIA_INSERT = 'BY_CRITERIA_INSERT';
 }