Pass serializer context in RegisterView.get_response_data #478

Pass serializer context to TokenSerializer/JWTSerializer
so extensions of these serializers can make use of it
to implement custom logic.

Closes #478
This commit is contained in:
Federico Capoano 2018-11-08 12:36:02 +01:00
parent 479a40d2cc
commit cf9f469b54

View File

@ -50,14 +50,16 @@ class RegisterView(CreateAPIView):
allauth_settings.EmailVerificationMethod.MANDATORY: allauth_settings.EmailVerificationMethod.MANDATORY:
return {"detail": _("Verification e-mail sent.")} return {"detail": _("Verification e-mail sent.")}
context = self.get_serializer_context()
if getattr(settings, 'REST_USE_JWT', False): if getattr(settings, 'REST_USE_JWT', False):
data = { data = {
'user': user, 'user': user,
'token': self.token 'token': self.token
} }
return JWTSerializer(data).data return JWTSerializer(data, context=context).data
else: else:
return TokenSerializer(user.auth_token).data return TokenSerializer(user.auth_token, context=context).data
def create(self, request, *args, **kwargs): def create(self, request, *args, **kwargs):
serializer = self.get_serializer(data=request.data) serializer = self.get_serializer(data=request.data)