diff --git a/greg/api/urls.py b/greg/api/urls.py index 55fc742f2bc2ff41fa11d87f4f4251ecf58faee9..8d8ad36ad3fff853cda965aa57d6be23bc7abe31 100644 --- a/greg/api/urls.py +++ b/greg/api/urls.py @@ -17,6 +17,7 @@ from greg.api.views.sponsor import ( SponsorGuestsViewSet, SponsorOrgunitLinkView, ) +from gregui.api.views.person import PersonSearchViewSet router = DefaultRouter(trailing_slash=False) router.register(r"persons", PersonViewSet, basename="person") @@ -74,4 +75,9 @@ urlpatterns += [ SponsorOrgunitLinkView.as_view({"post": "create", "delete": "destroy"}), name="sponsor_orgunit-detail", ), + re_path( + "person_search/", + PersonSearchViewSet.as_view({"get": "list"}), + name="person-search", + ), ] diff --git a/gregui/api/views/person.py b/gregui/api/views/person.py index 0ebb8c35516a5d08fa65201b21a2c269f59c12a8..e67bd200d1e33e387a089bfc5d9ec6ef39eb3bea 100644 --- a/gregui/api/views/person.py +++ b/gregui/api/views/person.py @@ -107,6 +107,9 @@ class PersonSearchViewSet(GenericViewSet): def get_hits(self): search = self.request.query_params["q"] + include_birth_date = False + if not "gregui" in self.request.version: + include_birth_date = True split_search = search.split() words_joined = "|".join(map(str, split_search)) @@ -124,9 +127,10 @@ class PersonSearchViewSet(GenericViewSet): included_persons = [] for person in persons: - hits.append( - {"pid": person.id, "first": person.first_name, "last": person.last_name} - ) + output_data = {"pid": person.id, "first": person.first_name, "last": person.last_name} + if include_birth_date: + output_data["date_of_birth"] = person.date_of_birth + hits.append(output_data) included_persons.append(person.id) if len(hits) == 10: