From a9c9ea37e7489e4fecddf2342b9b1daf26f5e9a4 Mon Sep 17 00:00:00 2001 From: Alex Remedios Date: Fri, 11 Jun 2021 12:21:16 +0100 Subject: [PATCH] Ensure invite links available to FE (#471) --- src/human_lambdas/user_handler/invitation.py | 12 ++++++++++-- .../user_handler/tests/test_invitation_endpoint.py | 2 ++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/human_lambdas/user_handler/invitation.py b/src/human_lambdas/user_handler/invitation.py index 530e68d9..23e098eb 100644 --- a/src/human_lambdas/user_handler/invitation.py +++ b/src/human_lambdas/user_handler/invitation.py @@ -36,7 +36,12 @@ def get_queryset(self): def get(self, request, *args, **kwargs): invited_users = [ - {"email": invitation.email, "pending": True, "is_admin": invitation.admin} + { + "email": invitation.email, + "pending": True, + "is_admin": invitation.admin, + "link": invitation.invite_link, + } for invitation in self.get_queryset() ] return Response( @@ -49,7 +54,7 @@ def post(self, request, *args, **kwargs): organization = Organization.objects.get(pk=kwargs["org_id"]) template_data = [] emails = [] - + links = {} for email in email_set: if is_invalid_email(email): invalid_email_list.append(email) @@ -94,6 +99,7 @@ def post(self, request, *args, **kwargs): + timezone.timedelta(days=settings.INVITATION_EXPIRATION_WINDOW_DAYS), ).save() + links[email] = invite_link emails.append(email) if settings.INVITATION_TEMPLATE is None or settings.ACCOUNT_ASM_GROUPID is None: @@ -112,6 +118,7 @@ def post(self, request, *args, **kwargs): { "status_code": 200, "message": "all emails were successfully added!", + "links": links, }, status=200, ) @@ -124,6 +131,7 @@ def post(self, request, *args, **kwargs): { "status_code": 400, "errors": [{"message": response_text}], + "links": links, }, status=400, ) diff --git a/src/human_lambdas/user_handler/tests/test_invitation_endpoint.py b/src/human_lambdas/user_handler/tests/test_invitation_endpoint.py index 9e10466e..b59ebd8c 100644 --- a/src/human_lambdas/user_handler/tests/test_invitation_endpoint.py +++ b/src/human_lambdas/user_handler/tests/test_invitation_endpoint.py @@ -49,6 +49,7 @@ def setUp(self): invited_by=self.user, token=self.token, expires_at=aware_expiry_date, + invite_link="llll", ) existing_invite.save() @@ -173,6 +174,7 @@ def test_invitation_post_deletes_invites_after_new_user(self): invited_by=self.user, token=token, expires_at=make_aware(datetime.datetime.now() + datetime.timedelta(30)), + invite_link="lkjhlkjh", ) new_user_invite.save()