feat(fixtures) : add client users, client tickets, and ticket-task link
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -5,6 +5,7 @@ declare(strict_types=1);
|
||||
namespace App\DataFixtures;
|
||||
|
||||
use App\Entity\Client;
|
||||
use App\Entity\ClientTicket;
|
||||
use App\Entity\Project;
|
||||
use App\Entity\Task;
|
||||
use App\Entity\TaskEffort;
|
||||
@@ -543,6 +544,94 @@ class AppFixtures extends Fixture
|
||||
$manager->persist($entry);
|
||||
}
|
||||
|
||||
// =============================================
|
||||
// Client Users
|
||||
// =============================================
|
||||
$clientUserLiot = new User();
|
||||
$clientUserLiot->setUsername('client-liot');
|
||||
$clientUserLiot->setRoles(['ROLE_CLIENT']);
|
||||
$clientUserLiot->setPassword($this->passwordHasher->hashPassword($clientUserLiot, 'client'));
|
||||
$clientUserLiot->setClient($clientLiot);
|
||||
$clientUserLiot->addAllowedProject($projectSirh);
|
||||
$manager->persist($clientUserLiot);
|
||||
|
||||
$clientUserAcme = new User();
|
||||
$clientUserAcme->setUsername('client-acme');
|
||||
$clientUserAcme->setRoles(['ROLE_CLIENT']);
|
||||
$clientUserAcme->setPassword($this->passwordHasher->hashPassword($clientUserAcme, 'client'));
|
||||
$clientUserAcme->setClient($clientAcme);
|
||||
$clientUserAcme->addAllowedProject($projectCrm);
|
||||
$manager->persist($clientUserAcme);
|
||||
|
||||
// =============================================
|
||||
// Client Tickets
|
||||
// =============================================
|
||||
$ticket1 = new ClientTicket();
|
||||
$ticket1->setNumber(1);
|
||||
$ticket1->setType('bug');
|
||||
$ticket1->setTitle('Erreur 500 sur la page de login');
|
||||
$ticket1->setDescription('Quand je clique sur "Se connecter" avec un mot de passe vide, j\'obtiens une page blanche avec une erreur 500.');
|
||||
$ticket1->setUrl('https://sirh.liot.fr/login');
|
||||
$ticket1->setStatus('new');
|
||||
$ticket1->setProject($projectSirh);
|
||||
$ticket1->setSubmittedBy($clientUserLiot);
|
||||
$ticket1->setCreatedAt(new DateTimeImmutable('-3 days'));
|
||||
$ticket1->setUpdatedAt(new DateTimeImmutable('-3 days'));
|
||||
$manager->persist($ticket1);
|
||||
|
||||
$ticket2 = new ClientTicket();
|
||||
$ticket2->setNumber(2);
|
||||
$ticket2->setType('improvement');
|
||||
$ticket2->setTitle('Ajouter un export PDF des fiches employés');
|
||||
$ticket2->setDescription('Il serait utile de pouvoir exporter les fiches employés au format PDF pour les archiver.');
|
||||
$ticket2->setStatus('in_progress');
|
||||
$ticket2->setProject($projectSirh);
|
||||
$ticket2->setSubmittedBy($clientUserLiot);
|
||||
$ticket2->setCreatedAt(new DateTimeImmutable('-7 days'));
|
||||
$ticket2->setUpdatedAt(new DateTimeImmutable('-2 days'));
|
||||
$manager->persist($ticket2);
|
||||
|
||||
$ticket3 = new ClientTicket();
|
||||
$ticket3->setNumber(3);
|
||||
$ticket3->setType('other');
|
||||
$ticket3->setTitle('Demande de formation sur le module congés');
|
||||
$ticket3->setDescription('Notre équipe RH souhaiterait une formation sur le nouveau module de gestion des congés.');
|
||||
$ticket3->setStatus('done');
|
||||
$ticket3->setStatusComment('Formation planifiée le 20/03. Ticket clos.');
|
||||
$ticket3->setProject($projectSirh);
|
||||
$ticket3->setSubmittedBy($clientUserLiot);
|
||||
$ticket3->setCreatedAt(new DateTimeImmutable('-14 days'));
|
||||
$ticket3->setUpdatedAt(new DateTimeImmutable('-5 days'));
|
||||
$manager->persist($ticket3);
|
||||
|
||||
$ticket4 = new ClientTicket();
|
||||
$ticket4->setNumber(1);
|
||||
$ticket4->setType('bug');
|
||||
$ticket4->setTitle('Doublons dans la liste des contacts');
|
||||
$ticket4->setDescription('Certains contacts apparaissent en double après l\'import CSV. Le problème semble lié aux accents dans les noms.');
|
||||
$ticket4->setStatus('new');
|
||||
$ticket4->setProject($projectCrm);
|
||||
$ticket4->setSubmittedBy($clientUserAcme);
|
||||
$ticket4->setCreatedAt(new DateTimeImmutable('-1 day'));
|
||||
$ticket4->setUpdatedAt(new DateTimeImmutable('-1 day'));
|
||||
$manager->persist($ticket4);
|
||||
|
||||
$ticket5 = new ClientTicket();
|
||||
$ticket5->setNumber(2);
|
||||
$ticket5->setType('improvement');
|
||||
$ticket5->setTitle('Filtre par date sur le pipeline de vente');
|
||||
$ticket5->setDescription('Pouvoir filtrer le pipeline de vente par période (mois, trimestre, année).');
|
||||
$ticket5->setStatus('rejected');
|
||||
$ticket5->setStatusComment('Cette fonctionnalité est déjà prévue dans la prochaine version. Pas besoin de ticket spécifique.');
|
||||
$ticket5->setProject($projectCrm);
|
||||
$ticket5->setSubmittedBy($clientUserAcme);
|
||||
$ticket5->setCreatedAt(new DateTimeImmutable('-10 days'));
|
||||
$ticket5->setUpdatedAt(new DateTimeImmutable('-8 days'));
|
||||
$manager->persist($ticket5);
|
||||
|
||||
// Link a task to a client ticket
|
||||
$task3->setClientTicket($ticket1);
|
||||
|
||||
$manager->flush();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user