- 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)
23 lines
833 B
SQL
23 lines
833 B
SQL
-- Migration: Corriger la fonction is_staff pour vérifier is_staff = true
|
|
-- Date: 2025-11-28
|
|
-- Description: La fonction is_staff ne vérifie pas si is_staff = true, elle vérifie seulement l'existence dans staff_users
|
|
|
|
-- Corriger la fonction is_staff
|
|
CREATE OR REPLACE FUNCTION public.is_staff()
|
|
RETURNS boolean
|
|
LANGUAGE sql
|
|
STABLE
|
|
AS $function$
|
|
select exists (
|
|
select 1 from public.staff_users su
|
|
where su.user_id = auth.uid()
|
|
and su.is_staff = true -- AJOUT de cette condition critique
|
|
);
|
|
$function$;
|
|
|
|
-- Commentaire pour documenter la correction
|
|
COMMENT ON FUNCTION public.is_staff() IS
|
|
'Vérifie si l''utilisateur actuel est un staff user (is_staff = true)';
|
|
|
|
-- Note: Cette correction affecte toutes les policies RLS qui utilisent is_staff()
|
|
-- y compris les policies sur payslips via is_member_of_org()
|