feat: ajout state et raisonMessage sur Devis

src/Entity/Devis.php:
- Constantes STATE_CREATED, STATE_SEND, STATE_ACCEPTED, STATE_REFUSED,
  STATE_CANCEL pour les 5 etats possibles du devis
- state: string(20) default 'created', cycle de vie du devis
  (created → send → accepted/refused/cancel)
- raisonMessage: text nullable, motif de refus ou annulation

migrations/Version20260402203711.php:
- Ajout colonnes state VARCHAR(20) DEFAULT 'created' et
  raison_message TEXT nullable sur la table devis

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Serreau Jovann
2026-04-02 22:37:20 +02:00
parent 42fe3257a1
commit 8136475356
2 changed files with 65 additions and 0 deletions

View File

@@ -0,0 +1,33 @@
<?php
declare(strict_types=1);
namespace DoctrineMigrations;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
/**
* Auto-generated Migration: Please modify to your needs!
*/
final class Version20260402203711 extends AbstractMigration
{
public function getDescription(): string
{
return '';
}
public function up(Schema $schema): void
{
// this up() migration is auto-generated, please modify it to your needs
$this->addSql('ALTER TABLE devis ADD state VARCHAR(20) DEFAULT \'created\' NOT NULL');
$this->addSql('ALTER TABLE devis ADD raison_message TEXT DEFAULT NULL');
}
public function down(Schema $schema): void
{
// this down() migration is auto-generated, please modify it to your needs
$this->addSql('ALTER TABLE devis DROP state');
$this->addSql('ALTER TABLE devis DROP raison_message');
}
}

View File

@@ -13,6 +13,12 @@ use Vich\UploaderBundle\Mapping\Annotation as Vich;
#[Vich\Uploadable] #[Vich\Uploadable]
class Devis class Devis
{ {
public const STATE_CREATED = 'created';
public const STATE_SEND = 'send';
public const STATE_ACCEPTED = 'accepted';
public const STATE_REFUSED = 'refused';
public const STATE_CANCEL = 'cancel';
#[ORM\Id] #[ORM\Id]
#[ORM\GeneratedValue] #[ORM\GeneratedValue]
#[ORM\Column] #[ORM\Column]
@@ -25,6 +31,12 @@ class Devis
#[ORM\Column(length: 128)] #[ORM\Column(length: 128)]
private string $hmac; private string $hmac;
#[ORM\Column(length: 20, options: ['default' => 'created'])]
private string $state = self::STATE_CREATED;
#[ORM\Column(type: 'text', nullable: true)]
private ?string $raisonMessage = null;
#[ORM\Column(type: 'decimal', precision: 10, scale: 2, options: ['default' => '0.00'])] #[ORM\Column(type: 'decimal', precision: 10, scale: 2, options: ['default' => '0.00'])]
private string $totalHt = '0.00'; private string $totalHt = '0.00';
@@ -91,6 +103,26 @@ class Devis
return $this->hmac; return $this->hmac;
} }
public function getState(): string
{
return $this->state;
}
public function setState(string $state): void
{
$this->state = $state;
}
public function getRaisonMessage(): ?string
{
return $this->raisonMessage;
}
public function setRaisonMessage(?string $raisonMessage): void
{
$this->raisonMessage = $raisonMessage;
}
public function getTotalHt(): string public function getTotalHt(): string
{ {
return $this->totalHt; return $this->totalHt;