feat : ajout d'un ordre d'affichage pour les employés + ajout du drag and drop pour changer l'ordre des employés dans le calendrier et l'impression
All checks were successful
Auto Tag Develop / tag (push) Successful in 5s

This commit is contained in:
2026-02-10 16:49:03 +01:00
parent fe6a0e8fc9
commit 0b0ca60af7
10 changed files with 177 additions and 9 deletions

View File

@@ -0,0 +1,26 @@
<?php
declare(strict_types=1);
namespace DoctrineMigrations;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
final class Version20260210121500 extends AbstractMigration
{
public function getDescription(): string
{
return 'Add display_order to employees';
}
public function up(Schema $schema): void
{
$this->addSql('ALTER TABLE employees ADD display_order INT NOT NULL DEFAULT 0');
}
public function down(Schema $schema): void
{
$this->addSql('ALTER TABLE employees DROP COLUMN display_order');
}
}

View File

@@ -0,0 +1,39 @@
<?php
declare(strict_types=1);
namespace DoctrineMigrations;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
final class Version20260210123000 extends AbstractMigration
{
public function getDescription(): string
{
return 'Backfill employee display_order per site';
}
public function up(Schema $schema): void
{
// Initialise display_order par site selon le tri nom/prénom/id.
$this->addSql('
UPDATE employees e
SET display_order = ranked.rn
FROM (
SELECT id,
ROW_NUMBER() OVER (
PARTITION BY site_id
ORDER BY last_name ASC, first_name ASC, id ASC
) AS rn
FROM employees
) ranked
WHERE ranked.id = e.id
');
}
public function down(Schema $schema): void
{
// Pas de rollback pertinent.
}
}