From 2b5130e44a925f375b14b211cab10211e89a3349 Mon Sep 17 00:00:00 2001 From: Stein Elgethun <stein.elgethun@usit.uio.no> Date: Fri, 8 Oct 2021 11:57:28 +0200 Subject: [PATCH] Add button for sending testmail in frontend Issue: GREG-66 --- frontend/src/components/debug/index.tsx | 16 ++++++++++++++++ gregui/urls.py | 1 + gregui/views.py | 6 ++++++ 3 files changed, 23 insertions(+) diff --git a/frontend/src/components/debug/index.tsx b/frontend/src/components/debug/index.tsx index 1097897f..a151d73f 100644 --- a/frontend/src/components/debug/index.tsx +++ b/frontend/src/components/debug/index.tsx @@ -82,6 +82,19 @@ export const Debug = () => { }) } + + const testMail = () => { + fetch('/api/ui/v1/testmail/', { + credentials: 'same-origin', + }) + .then((data) => { + console.log(data) + }) + .catch((err) => { + console.log(err) + }) + } + const whoami = () => { fetch('/api/ui/v1/whoami/', { headers: { @@ -151,6 +164,9 @@ export const Debug = () => { <Button type="button" onClick={() => logout()}> LOGOUT </Button> + <Button type="button" onClick={() => testMail()}> + SEND TEST MAIL + </Button> </Stack> <Box sx={{ maxWidth: '30rem' }}> <Table> diff --git a/gregui/urls.py b/gregui/urls.py index 56e17df6..cc6fa884 100644 --- a/gregui/urls.py +++ b/gregui/urls.py @@ -17,6 +17,7 @@ urlpatterns: List[URLResolver] = [ path("api/ui/v1/logout/", views.logout_view, name="api-logout"), path("api/ui/v1/login/", views.login_view, name="api-login"), path("api/ui/v1/session/", views.SessionView.as_view(), name="api-session"), + path("api/ui/v1/testmail/", views.send_test_email, name="api-testmail"), path("api/ui/v1/whoami/", views.WhoAmIView.as_view(), name="api-whoami"), path("api/ui/v1/userinfo/", UserInfoView.as_view()), # type: ignore path("api/ui/v1/ous/", OusView.as_view()), diff --git a/gregui/views.py b/gregui/views.py index 0801eda1..2bf3fc9d 100644 --- a/gregui/views.py +++ b/gregui/views.py @@ -8,6 +8,7 @@ from rest_framework.views import APIView from greg.models import Role, Sponsor from greg.permissions import IsSponsor +from gregui import mailutils from gregui.models import GregUserProfile @@ -37,6 +38,11 @@ def login_view(request): return redirect("/api/ui/v1/whoami/") +def send_test_email(request): + mailutils.send_registration_mail("test@example.no", "Foo Bar") + return JsonResponse({"detail": "Created task to send test mail."}) + + class SessionView(APIView): authentication_classes = [SessionAuthentication, BasicAuthentication] permission_classes = [IsAuthenticated] -- GitLab