- Ajout mode de sélection 'period' (existant) et 'manual' (nouveau) pour les virements - Création table de liaison salary_transfer_payslips pour paies sélectionnées manuellement - Nouveau modal de sélection de paies avec filtres (recherche, période, statut) - API route /api/staff/payslips/available pour récupérer les paies disponibles - Rendre period_month nullable en mode manual avec contrainte de validation - Correction fonction is_staff() pour vérifier is_staff = true - Correction is_member_of_org() pour utiliser la version à jour de is_staff() - Mise à jour génération PDF pour supporter les deux modes (period et manual) - Filtre des organisations sur virements-salaires (uniquement celles avec virements_salaires = 'Odentas') - Amélioration affichage totaux dans PayslipsGrid (total sélection si lignes sélectionnées) - Ajout boutons 'Créer par période' et 'Créer personnalisé' dans SalaryTransfersGrid - Interface optimisée (textes plus courts, tailles réduites)
21 lines
859 B
SQL
21 lines
859 B
SQL
-- Migration: Rendre period_month nullable pour le mode manual
|
|
-- Date: 2025-11-28
|
|
-- Description: En mode manual, period_month n'est pas requis car les paies peuvent être de différents mois
|
|
|
|
-- Rendre la colonne period_month nullable
|
|
ALTER TABLE salary_transfers
|
|
ALTER COLUMN period_month DROP NOT NULL;
|
|
|
|
-- Ajouter un commentaire pour documenter
|
|
COMMENT ON COLUMN salary_transfers.period_month IS
|
|
'Mois de la période (YYYY-MM-DD). NULL en mode manual, requis en mode period.';
|
|
|
|
-- Ajouter une contrainte de validation pour s'assurer de la cohérence
|
|
-- En mode period: period_month doit être renseigné
|
|
-- En mode manual: period_month doit être NULL
|
|
ALTER TABLE salary_transfers
|
|
ADD CONSTRAINT check_period_month_by_mode
|
|
CHECK (
|
|
(selection_mode = 'period' AND period_month IS NOT NULL) OR
|
|
(selection_mode = 'manual' AND period_month IS NULL)
|
|
);
|