nanterre: ne créer les parents d'un enfant dans une synchronisation que si celui-ci n'est pas encore fédéré (fixes #19363)

This commit is contained in:
Benjamin Dauvergne 2017-10-11 11:02:52 +02:00
parent 0c9b76f6ca
commit 0193f6eccb
1 changed files with 7 additions and 3 deletions

View File

@ -509,9 +509,13 @@ class Synchronization(FragmentBuilder):
adultes = set([individu for individu in individus if utils.is_majeur(individu)])
enfants = set([individu for individu in individus if utils.is_mineur(individu)])
for enfant in enfants:
for parent, rel in utils.parents(enfant):
if parent not in adultes:
adultes.add(parent)
# on n'ajoute les parents en synchronisation que si l'enfant
# n'a pas encore de fédération avec l'application concernée
# on appelle ça une synchronisation manuelle
if self.application_id not in enfant.content['cles_de_federation']:
for parent, rel in utils.parents(enfant):
if parent not in adultes:
adultes.add(parent)
# on ajoute les nouveaux adultes puis enfants
for adulte in adultes: