mirror of
https://code.eliotberriot.com/funkwhale/funkwhale.git
synced 2025-10-03 23:29:15 +02:00
See #1039: resend confirmation email on login if email is unverified
This commit is contained in:
parent
372bd4a6ee
commit
b07bd83fa1
9 changed files with 82 additions and 11 deletions
|
@ -7,8 +7,10 @@ from django.utils.translation import gettext_lazy as _
|
|||
from rest_auth.serializers import PasswordResetSerializer as PRS
|
||||
from rest_auth.registration.serializers import RegisterSerializer as RS, get_adapter
|
||||
from rest_framework import serializers
|
||||
from rest_framework_jwt import serializers as jwt_serializers
|
||||
|
||||
from funkwhale_api.activity import serializers as activity_serializers
|
||||
from funkwhale_api.common import authentication
|
||||
from funkwhale_api.common import models as common_models
|
||||
from funkwhale_api.common import preferences
|
||||
from funkwhale_api.common import serializers as common_serializers
|
||||
|
@ -36,6 +38,15 @@ username_validators = [ASCIIUsernameValidator()]
|
|||
NOOP = object()
|
||||
|
||||
|
||||
class JSONWebTokenSerializer(jwt_serializers.JSONWebTokenSerializer):
|
||||
def validate(self, data):
|
||||
try:
|
||||
return super().validate(data)
|
||||
except authentication.UnverifiedEmail as e:
|
||||
authentication.send_email_confirmation(self.context["request"], e.user)
|
||||
raise serializers.ValidationError("Please verify your email address.")
|
||||
|
||||
|
||||
class RegisterSerializer(RS):
|
||||
invitation = serializers.CharField(
|
||||
required=False, allow_null=True, allow_blank=True
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue