- q_region_service = Q()
-
- # Construction de la liste des employés en puisant dans DAE (pas d'info) et dans rh_v1
- # Pour le filtrage par région/service, on est obligé d'aller regarder le dossier rh_v1
- # car l'information dans le modèle rh_v1.Employe n'existe pas.
- dae_ = dae.Employe.objects.filter(id_rh__isnull=True)
- copies = dae.Employe.objects.filter(Q(id_rh__isnull=False))
+ q_dae_region_service = Q()
+ q_rh_region_service = Q()
+
+ # On filtre les employes avec les droits régionaux et on s'assure que c'est bien le dernier dossier en date pour sortir l'employe
+ # On retient un employé qui travaille présentement dans la même région que le user connecté.
+ dossiers_regionaux_ids = [d.id for d in dae.Dossier.objects.filter(q_dae_region_service)]
+ employes_ids = [d['employe'] for d in dae.Dossier.objects.values('employe').annotate(dernier_dossier=Max('id')) if d['dernier_dossier'] in dossiers_regionaux_ids]
+ dae_employe = dae.Employe.objects.filter(id__in=employes_ids)
+ dae_ = dae_employe.filter(id_rh__isnull=True)
+ copies = dae_employe.filter(Q(id_rh__isnull=False))