Fixed issue with confirmation email not sending when signup-approval was enabled
This commit is contained in:
parent
e812de28c8
commit
a20a63d6ed
|
@ -5,6 +5,7 @@ from rest_framework import mixins, viewsets
|
||||||
from rest_framework.decorators import action
|
from rest_framework.decorators import action
|
||||||
from rest_framework.response import Response
|
from rest_framework.response import Response
|
||||||
|
|
||||||
|
from funkwhale_api.common import authentication
|
||||||
from funkwhale_api.common import preferences
|
from funkwhale_api.common import preferences
|
||||||
|
|
||||||
from . import models, serializers, tasks
|
from . import models, serializers, tasks
|
||||||
|
@ -26,6 +27,13 @@ class RegisterView(registration_views.RegisterView):
|
||||||
def is_open_for_signup(self, request):
|
def is_open_for_signup(self, request):
|
||||||
return get_adapter().is_open_for_signup(request)
|
return get_adapter().is_open_for_signup(request)
|
||||||
|
|
||||||
|
def perform_create(self, serializer):
|
||||||
|
user = super().perform_create(serializer)
|
||||||
|
if not user.is_active:
|
||||||
|
# manual approval, we need to send the confirmation email by hand
|
||||||
|
authentication.send_email_confirmation(self.request, user)
|
||||||
|
return user
|
||||||
|
|
||||||
|
|
||||||
class VerifyEmailView(registration_views.VerifyEmailView):
|
class VerifyEmailView(registration_views.VerifyEmailView):
|
||||||
action = "verify-email"
|
action = "verify-email"
|
||||||
|
|
|
@ -418,7 +418,9 @@ def test_username_with_existing_local_account_are_invalid(
|
||||||
assert "username" in response.data
|
assert "username" in response.data
|
||||||
|
|
||||||
|
|
||||||
def test_signup_with_approval_enabled(preferences, factories, api_client, mocker):
|
def test_signup_with_approval_enabled(
|
||||||
|
preferences, factories, api_client, mocker, mailoutbox, settings
|
||||||
|
):
|
||||||
url = reverse("rest_register")
|
url = reverse("rest_register")
|
||||||
data = {
|
data = {
|
||||||
"username": "test1",
|
"username": "test1",
|
||||||
|
@ -455,6 +457,10 @@ def test_signup_with_approval_enabled(preferences, factories, api_client, mocker
|
||||||
new_status="pending",
|
new_status="pending",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
confirmation_message = mailoutbox[-1]
|
||||||
|
assert "confirm" in confirmation_message.body
|
||||||
|
assert settings.FUNKWHALE_HOSTNAME in confirmation_message.body
|
||||||
|
|
||||||
|
|
||||||
def test_signup_with_approval_enabled_validation_error(
|
def test_signup_with_approval_enabled_validation_error(
|
||||||
preferences, factories, api_client
|
preferences, factories, api_client
|
||||||
|
|
Loading…
Reference in New Issue