-- 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()
