AND (prm_per_ids ISNULL OR event_personne.per_id = ANY(prm_per_ids))
AND (events.ety_id ISNULL OR events.ety_id = event.ety_id)
AND eve_date_suppression ISNULL
- AND (prm_eta_id ISNULL OR personne_etablissement.eta_id = prm_eta_id)
+ AND (prm_eta_id ISNULL OR
+ (CASE WHEN (select ent_code from public.personne where per_id = prm_per_id) <> 'usager'
+ THEN TRUE
+ ELSE personne_etablissement.eta_id = prm_eta_id
+ END))
AND (NOT events.evs_locked OR events_statut.sta_id = personne_info_integer_get(prm_token, event_personne.per_id, 'statut_usager'))
LOOP
RETURN NEXT row;