nanterre: améliorer la recherche par date de naissance (fixes #21415)
Le RSU contient des fiches dont la date est largement erronnée: * soit au premier janvier de l'année de naissance * soit avant 1903 Ce commit inclut dans la recherche automatiquement les fiches avec de tels date même si une date précise est donnée.
This commit is contained in:
parent
8f02fb31e7
commit
b1bbc814f9
|
@ -290,12 +290,20 @@ class PersonSearch(object):
|
|||
after = datetime.date(int(birthdate['year']), 1, 1)
|
||||
before = datetime.date(int(birthdate['year']), 12, 31)
|
||||
|
||||
if window_days:
|
||||
after -= datetime.timedelta(days=window_days)
|
||||
before += datetime.timedelta(days=window_days)
|
||||
first_january_same_year = None
|
||||
if before == after:
|
||||
first_january_same_year = before.replace(month=1, day=1)
|
||||
if window_days:
|
||||
after -= datetime.timedelta(days=window_days)
|
||||
before += datetime.timedelta(days=window_days)
|
||||
|
||||
query = Q(content__date_de_naissance__timestamp__gte=after)
|
||||
query &= Q(content__date_de_naissance__timestamp__lte=before)
|
||||
# always look for entities before 1903-01-01
|
||||
query |= Q(content__date_de_naissance__timestamp__lte=datetime.date(1903, 1, 1))
|
||||
# if search is exact look for first january of the same year
|
||||
if first_january_same_year:
|
||||
query |= Q(content__date_de_naissance__timestamp=first_january_same_year)
|
||||
self.add_filter('birthdate', query)
|
||||
return self
|
||||
|
||||
|
|
Loading…
Reference in New Issue