feat : Ajout d'un onglet Observation sur la page employé + fonctionnalité de verrouillage utilisateur

This commit is contained in:
2026-03-25 10:16:53 +01:00
parent 3c434d20b2
commit dd090ecb7e
20 changed files with 726 additions and 22 deletions

View File

@@ -0,0 +1,32 @@
<?php
declare(strict_types=1);
namespace DoctrineMigrations;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
final class Version20260325081258 extends AbstractMigration
{
public function getDescription(): string
{
return 'Create observations table with unique constraint on (employee_id, month)';
}
public function up(Schema $schema): void
{
$this->addSql('CREATE TABLE observations (id INT GENERATED BY DEFAULT AS IDENTITY NOT NULL, employee_id INT NOT NULL, month DATE NOT NULL, content TEXT NOT NULL, created_at TIMESTAMP(0) WITHOUT TIME ZONE NOT NULL, PRIMARY KEY (id))');
$this->addSql('CREATE INDEX IDX_BBC15BA88C03F15C ON observations (employee_id)');
$this->addSql('CREATE UNIQUE INDEX uniq_observation_employee_month ON observations (employee_id, month)');
$this->addSql('ALTER TABLE observations ADD CONSTRAINT FK_BBC15BA88C03F15C FOREIGN KEY (employee_id) REFERENCES employees (id) NOT DEFERRABLE');
$this->addSql("COMMENT ON COLUMN observations.month IS '(DC2Type:date_immutable)'");
$this->addSql("COMMENT ON COLUMN observations.created_at IS '(DC2Type:datetime_immutable)'");
}
public function down(Schema $schema): void
{
$this->addSql('ALTER TABLE observations DROP CONSTRAINT FK_BBC15BA88C03F15C');
$this->addSql('DROP TABLE observations');
}
}

View File

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