nanterre: corrige le signalement de changement d'adresse lors d'une union (fixes #18091)

* il faut consommer les messages sinon rien ne se passe
* il faut filtrer les individus pour ne garder que ceux qui ont une fédération
  avec l'application en cours.
This commit is contained in:
Benjamin Dauvergne 2017-09-07 18:50:23 +02:00
parent 5a9cee7bf5
commit 03f9fb1ad0
1 changed files with 9 additions and 2 deletions

View File

@ -137,6 +137,7 @@ class FragmentBuilder(object):
self.application = utils.get_application(application)
assert 'rsu_ws_url' in self.application, \
'application %s does not have a rsu_ws_url' % application
assert individus, 'pas d\'individus, pas de flux'
self.individus = individus
self.meta = meta
if self.lock_individus:
@ -771,8 +772,14 @@ class DeclarationUnion(RelationSynchro):
# d'adresse
if not cls.condition(application, relation):
individus = set([relation.left, relation.right]) | set(utils.enfants_couple(relation))
SignalementChangementAdresse.par_application(application, individus, meta=meta,
transaction=transaction)
individus = [individu for individu in individus if application in
individu.content['cles_de_federation']]
if not individus:
return
for message in SignalementChangementAdresse.par_application(application, individus,
meta=meta,
transaction=transaction):
yield message
def pour_relation(self, relation):
# On crée la relation si les deux individus sont fédérés, sinon on envoie simplement un