From b73986787079559870aaed869a74f2b9a181cc5d Mon Sep 17 00:00:00 2001 From: emilschn Date: Mon, 3 Feb 2025 18:02:05 +0100 Subject: [PATCH] wip enum status signalement #3572 --- migrations/Version20250203165635.php | 26 ++++++++++++++++++++++++++ src/Entity/Enum/SignalementStatus.php | 14 +++++++------- src/Entity/Signalement.php | 11 ++++++----- 3 files changed, 39 insertions(+), 12 deletions(-) create mode 100644 migrations/Version20250203165635.php diff --git a/migrations/Version20250203165635.php b/migrations/Version20250203165635.php new file mode 100644 index 000000000..e27314674 --- /dev/null +++ b/migrations/Version20250203165635.php @@ -0,0 +1,26 @@ +addSql('ALTER TABLE signalement CHANGE statut statut VARCHAR(255) NOT NULL'); + } + + public function down(Schema $schema): void + { + $this->addSql('ALTER TABLE signalement CHANGE statut statut INT NOT NULL'); + } +} diff --git a/src/Entity/Enum/SignalementStatus.php b/src/Entity/Enum/SignalementStatus.php index 7aa0555da..94aef54db 100644 --- a/src/Entity/Enum/SignalementStatus.php +++ b/src/Entity/Enum/SignalementStatus.php @@ -4,16 +4,16 @@ use App\Entity\Behaviour\EnumTrait; -enum SignalementStatus: int +enum SignalementStatus: string { use EnumTrait; - case NEED_VALIDATION = 1; - case ACTIVE = 2; - case NEED_PARTNER_RESPONSE = 3; - case CLOSED = 6; - case ARCHIVED = 7; - case REFUSED = 8; + case NEED_VALIDATION = 'NEED_VALIDATION'; + case ACTIVE = 'ACTIVE'; + case NEED_PARTNER_RESPONSE = 'NEED_PARTNER_RESPONSE'; + case CLOSED = 'CLOSED'; + case ARCHIVED = 'ARCHIVED'; + case REFUSED = 'REFUSED'; public function mapAffectationStatus(): int { diff --git a/src/Entity/Signalement.php b/src/Entity/Signalement.php index 50a6c0259..ade9f0fcf 100644 --- a/src/Entity/Signalement.php +++ b/src/Entity/Signalement.php @@ -11,6 +11,7 @@ use App\Entity\Enum\ProfileDeclarant; use App\Entity\Enum\ProprioType; use App\Entity\Enum\Qualification; +use App\Entity\Enum\SignalementStatus; use App\Entity\Model\InformationComplementaire; use App\Entity\Model\InformationProcedure; use App\Entity\Model\SituationFoyer; @@ -215,8 +216,8 @@ class Signalement implements EntityHistoryInterface, EntityHistoryCollectionInte #[ORM\Column(type: 'datetime_immutable', nullable: true)] private ?\DateTimeImmutable $modifiedAt = null; - #[ORM\Column(type: 'integer')] - private ?int $statut = null; + #[ORM\Column(type: 'string', enumType: SignalementStatus::class)] + private ?SignalementStatus $statut = null; #[ORM\Column(type: 'string', length: 100)] private ?string $reference = null; @@ -444,7 +445,7 @@ public function __construct() $this->criteres = new ArrayCollection(); $this->criticites = new ArrayCollection(); $this->createdAt = new \DateTimeImmutable(); - $this->statut = self::STATUS_NEED_VALIDATION; + $this->statut = SignalementStatus::NEED_VALIDATION; $this->uuid = Uuid::v4(); $this->codeSuivi = Uuid::v4(); $this->suivis = new ArrayCollection(); @@ -1161,12 +1162,12 @@ public function setCreatedBy(?User $createdBy): self return $this; } - public function getStatut(): ?int + public function getStatut(): ?SignalementStatus { return $this->statut; } - public function setStatut(int $statut): self + public function setStatut(SignalementStatus $statut): self { $this->statut = $statut;