1
0
Fork 0
mirror of https://github.com/retspen/webvirtcloud synced 2026-03-23 11:04:49 +00:00
webvirtcloud/backend/user/serializers.py
2018-10-22 22:52:42 +03:00

48 lines
1.5 KiB
Python

from django.utils.translation import ugettext_lazy as _
from django.contrib.auth.models import User
from rest_framework import status
from rest_framework.response import Response
from rest_framework import serializers
from rest_auth.registration.views import RegisterView
from rest_auth.views import LoginView
from allauth.account import app_settings as allauth_settings
class UserSerializer(serializers.ModelSerializer):
class Meta:
fields = ('id', 'email', 'username', 'first_name', 'last_name', 'date_joined', 'last_login', 'is_active')
model = User
class SignUpView(RegisterView):
def get_response_data(self, user):
if allauth_settings.EMAIL_VERIFICATION == \
allauth_settings.EmailVerificationMethod.MANDATORY:
return {"detail": _("Verification e-mail sent.")}
serializer = UserSerializer(user)
data = {
'user': serializer.data,
'session': self.request.session.session_key,
'token': self.token
}
return data
class SignInView(LoginView):
def get_response(self):
serializer_class = self.get_response_serializer()
serializer = UserSerializer(self.user)
data = {
'user': serializer.data,
'session': self.request.session.session_key,
'token': self.token
}
serializer = serializer_class(instance=data,
context={'request': self.request})
return Response(serializer.data, status=status.HTTP_200_OK)