From 420564e7f06b1ff9940ae6c7d9c97735f9727cef Mon Sep 17 00:00:00 2001
From: Tore Brede <Tore.Brede@uib.no>
Date: Tue, 23 Nov 2021 08:41:54 +0100
Subject: [PATCH] GREG-113: Handle date of birth. Some cleanup

---
 gregui/api/views/invitation.py | 29 +++++++++++------------------
 1 file changed, 11 insertions(+), 18 deletions(-)

diff --git a/gregui/api/views/invitation.py b/gregui/api/views/invitation.py
index 7072b940..ce4e013d 100644
--- a/gregui/api/views/invitation.py
+++ b/gregui/api/views/invitation.py
@@ -72,8 +72,8 @@ class InvitationView(CreateAPIView, DestroyAPIView):
         person = serializer.save()
 
         for invitationlink in InvitationLink.objects.filter(
-            invitation__role__person_id=person.id,
-            invitation__role__sponsor_id=sponsor_user.sponsor_id,
+                invitation__role__person_id=person.id,
+                invitation__role__sponsor_id=sponsor_user.sponsor_id,
         ):
             send_invite_mail(invitationlink)
 
@@ -183,23 +183,16 @@ class InvitedGuestView(GenericAPIView):
             else SessionType.FEIDE.value
         )
 
-        fnr = self._get_identity_or_none(
-            person, Identity.IdentityType.NORWEGIAN_NATIONAL_ID_NUMBER
-        )
-        passport = self._get_identity_or_none(
-            person, Identity.IdentityType.PASSPORT_NUMBER
-        )
-        feide_id = self._get_identity_or_none(person, Identity.IdentityType.FEIDE_ID)
-
         data = {
             "person": {
                 "first_name": person.first_name,
                 "last_name": person.last_name,
                 "email": person.private_email and person.private_email.value,
                 "mobile_phone": person.private_mobile and person.private_mobile.value,
-                "fnr": fnr,
-                "passport": passport,
-                "feide_id": feide_id,
+                "date_of_birth": person.date_of_birth,
+                "fnr": person.fnr and person.fnr.value,
+                "passport": person.passport and person.passport.value,
+                "feide_id": person.feide_id and person.feide_id.value,
             },
             "sponsor": {
                 "first_name": sponsor.first_name,
@@ -243,10 +236,10 @@ class InvitedGuestView(GenericAPIView):
         # If there is a Feide ID registered with the guest, assume that the name is also coming from there
         feide_id = self._get_identity_or_none(person, Identity.IdentityType.FEIDE_ID)
         if not self._only_allowed_fields_in_request(
-            data,
-            self.fields_allowed_to_update_if_invite
-            if feide_id is None
-            else self.fields_allowed_to_update_if_feide,
+                data,
+                self.fields_allowed_to_update_if_invite
+                if feide_id is None
+                else self.fields_allowed_to_update_if_feide,
         ):
             return Response(status=status.HTTP_400_BAD_REQUEST)
 
@@ -296,7 +289,7 @@ class InvitedGuestView(GenericAPIView):
 
     @staticmethod
     def _get_identity_or_none(
-        person: Person, identity_type: Identity.IdentityType
+            person: Person, identity_type: Identity.IdentityType
     ) -> Optional[str]:
         try:
             return person.identities.get(type=identity_type).value
-- 
GitLab