feat: contrat migration SARL SITECONSEIL - PDF, DocuSeal, webhook, page publique
PDF ContratMigrationSiteconseilPdf: - Preambule: cessation SARL SITECONSEIL, continuite par E-Cosplay - Avertissement orange: pas de reprise d'anciennete ni accords anterieurs - 8 articles: objet, transfert, tarifs, duree, anciennete, responsabilite, RGPD, droit applicable - 2 signatures DocuSeal (Company auto-signe + Client signe) Controller admin: - create: genere le PDF automatiquement a la creation - generate-pdf: regeneration PDF - send-signature: envoi DocuSeal 2 parties + email client avec lien - Boutons: Regenerer PDF, Voir PDF, Envoyer/Renvoyer signature, Annuler Page publique /move/from/siteconseil: - Explication complete de la migration (pourquoi, ce qui change, ce qui ne change pas, etapes, FAQ) - Accessible sans authentification - Liee dans l'email de signature Webhook DocuSeal (doc_type=contrat): - Telecharge PDF signe + audit (unlink apres flush) - State SIGNED + signedAt - Email client + admin avec PDFs en piece jointe Templates email: - contrat_signature: lien page migration + lien signer + avertissement - contrat_signed: confirmation + PDFs attaches Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
34
migrations/Version20260409061033.php
Normal file
34
migrations/Version20260409061033.php
Normal file
@@ -0,0 +1,34 @@
|
||||
<?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 Version20260409061033 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('CREATE TABLE contrat (id INT GENERATED BY DEFAULT AS IDENTITY NOT NULL, email VARCHAR(255) NOT NULL, raison_sociale VARCHAR(255) NOT NULL, type VARCHAR(50) NOT NULL, state VARCHAR(20) DEFAULT \'draft\' NOT NULL, submission_id VARCHAR(255) DEFAULT NULL, submitter_company_id INT DEFAULT NULL, submitter_customer_id INT DEFAULT NULL, pdf_unsigned VARCHAR(255) DEFAULT NULL, pdf_signed VARCHAR(255) DEFAULT NULL, pdf_audit VARCHAR(255) DEFAULT NULL, created_at TIMESTAMP(0) WITHOUT TIME ZONE NOT NULL, signed_at TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT NULL, updated_at TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT NULL, customer_id INT DEFAULT NULL, PRIMARY KEY (id))');
|
||||
$this->addSql('CREATE INDEX IDX_603499939395C3F3 ON contrat (customer_id)');
|
||||
$this->addSql('ALTER TABLE contrat ADD CONSTRAINT FK_603499939395C3F3 FOREIGN KEY (customer_id) REFERENCES customer (id) ON DELETE SET NULL NOT DEFERRABLE');
|
||||
}
|
||||
|
||||
public function down(Schema $schema): void
|
||||
{
|
||||
// this down() migration is auto-generated, please modify it to your needs
|
||||
$this->addSql('ALTER TABLE contrat DROP CONSTRAINT FK_603499939395C3F3');
|
||||
$this->addSql('DROP TABLE contrat');
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user