ne pas chercher par identifiant RSU si l'identifiant n'est pas un entier (fixes #15515)
This commit is contained in:
parent
bb8acd45d0
commit
9aa872e2f1
|
@ -51,6 +51,9 @@ def rsu(rsu_schema):
|
|||
individu['statut_legal'] = ('majeur' if age_in_years_and_months(date_de_naissance) >= (18,
|
||||
0)
|
||||
else 'mineur')
|
||||
individu['cles_de_federation'] = {
|
||||
'technocarte': 'ABCD-%d' % i,
|
||||
}
|
||||
individu['email'] = fake.email()
|
||||
entities.append(
|
||||
Entity(created=tr, schema=rsu_schema, content=individu))
|
||||
|
|
|
@ -31,6 +31,14 @@ def test_person_search(db, rsu):
|
|||
assert found[0].id == rsu[0].id
|
||||
assert len(found) == 1
|
||||
|
||||
found = list(search.search_identifier(rsu[0].content['cles_de_federation']['technocarte']))
|
||||
assert found[0].id == rsu[0].id
|
||||
assert len(found) == 1
|
||||
|
||||
found = list(search.search_identifier('%d' % rsu[0].id))
|
||||
assert found[0].id == rsu[0].id
|
||||
assert len(found) == 1
|
||||
|
||||
|
||||
@pytest.mark.django_db(True)
|
||||
def test_create_individu(app, rsu_schema):
|
||||
|
|
|
@ -175,9 +175,16 @@ class PersonSearch(object):
|
|||
else:
|
||||
q = Q(**{'content__cles_de_federation__%s' % key: identifier})
|
||||
else:
|
||||
q = Q(id=identifier)
|
||||
filters = []
|
||||
try:
|
||||
individu_id = int(identifier)
|
||||
except ValueError:
|
||||
pass
|
||||
else:
|
||||
filters.append(Q(id=individu_id))
|
||||
for key, name in self.applications():
|
||||
q |= Q(**{'content__cles_de_federation__%s' % key: identifier})
|
||||
filters.append(Q(**{'content__cles_de_federation__%s' % key: identifier}))
|
||||
q = reduce(Q.__or__, filters)
|
||||
self.key_filters.append(q)
|
||||
return self
|
||||
|
||||
|
|
Loading…
Reference in New Issue