feat(backend) : add project relation to TaskStatus entity with migration and fixtures
Add ManyToOne project field on TaskStatus, SearchFilter for API filtering, migration to add the column, and update fixtures to create statuses per project. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -89,36 +89,36 @@ class AppFixtures extends Fixture
|
||||
$projectInterne->setClient(null);
|
||||
$manager->persist($projectInterne);
|
||||
|
||||
// Task Statuses
|
||||
$statusTodo = new TaskStatus();
|
||||
$statusTodo->setLabel('A faire');
|
||||
$statusTodo->setColor('#222783');
|
||||
$statusTodo->setPosition(0);
|
||||
$manager->persist($statusTodo);
|
||||
// Task Statuses (per project)
|
||||
$defaultStatuses = [
|
||||
['A faire', '#222783', 0],
|
||||
['En cours', '#4A90D9', 1],
|
||||
['Bloqué', '#C62828', 2],
|
||||
['En attente de validation', '#FF8F00', 3],
|
||||
['Terminé', '#26A69A', 4],
|
||||
];
|
||||
|
||||
$statusInProgress = new TaskStatus();
|
||||
$statusInProgress->setLabel('En cours');
|
||||
$statusInProgress->setColor('#222783');
|
||||
$statusInProgress->setPosition(1);
|
||||
$manager->persist($statusInProgress);
|
||||
$statusesByProject = [];
|
||||
foreach ([$projectSirh, $projectCrm, $projectErp, $projectInterne] as $proj) {
|
||||
$projectStatuses = [];
|
||||
foreach ($defaultStatuses as [$label, $color, $position]) {
|
||||
$status = new TaskStatus();
|
||||
$status->setLabel($label);
|
||||
$status->setColor($color);
|
||||
$status->setPosition($position);
|
||||
$status->setProject($proj);
|
||||
$manager->persist($status);
|
||||
$projectStatuses[$label] = $status;
|
||||
}
|
||||
$statusesByProject[spl_object_id($proj)] = $projectStatuses;
|
||||
}
|
||||
|
||||
$statusBlocked = new TaskStatus();
|
||||
$statusBlocked->setLabel('Bloqué');
|
||||
$statusBlocked->setColor('#222783');
|
||||
$statusBlocked->setPosition(2);
|
||||
$manager->persist($statusBlocked);
|
||||
|
||||
$statusReview = new TaskStatus();
|
||||
$statusReview->setLabel('En attente de validation');
|
||||
$statusReview->setColor('#222783');
|
||||
$statusReview->setPosition(3);
|
||||
$manager->persist($statusReview);
|
||||
|
||||
$statusDone = new TaskStatus();
|
||||
$statusDone->setLabel('Terminé');
|
||||
$statusDone->setColor('#222783');
|
||||
$statusDone->setPosition(4);
|
||||
$manager->persist($statusDone);
|
||||
$sirhStatuses = $statusesByProject[spl_object_id($projectSirh)];
|
||||
$statusTodo = $sirhStatuses['A faire'];
|
||||
$statusInProgress = $sirhStatuses['En cours'];
|
||||
$statusBlocked = $sirhStatuses['Bloqué'];
|
||||
$statusReview = $sirhStatuses['En attente de validation'];
|
||||
$statusDone = $sirhStatuses['Terminé'];
|
||||
|
||||
// Task Efforts
|
||||
$effortS = new TaskEffort();
|
||||
|
||||
Reference in New Issue
Block a user