예제 #1
0
    def post(self, request):
        serializer = self.serializer_class(data=request.data)
        if serializer.is_valid():
            user = serializer.save()
            try:
                user = authenticate(email=user.email,
                                    password=request.data['password'])
            except User.MultipleObjectsReturned:
                users = User.objects.filter(email=user.email)
                for u in users[1:]:
                    u.is_active = False
                    u.save()
                user = users[0]

            token, created = Token.objects.get_or_create(user=user)

            Profile(owner=user).save()
            ProfileImage(owner=user).save()
            current_site = get_current_site(request)
            domain = current_site.domain
            ''''q = UserRegistered()
            q.delay(ctx={'user_id':user.id,
                         'first_name': user.first_name,
                         'domain': domain,
                         'protocol': settings.PROTOCOL})
'''
            return Response({
                'token': token.key,
                'name': user.name
            },
                            status=status.HTTP_201_CREATED)
        else:
            return Response(serializer.errors,
                            status=status.HTTP_400_BAD_REQUEST)
예제 #2
0
    def setUp(self):
        self.user = User(
            username='******',
            first_name='John',
            last_name='Doe'
        )
        self.user.save()

        self.profile = Profile()
        self.profile.user = self.user
        self.profile.nickname = 'doer'

        self.profile.save()
예제 #3
0
 def post(self, request):
     serializer = self.serializer_class(data=request.data)
     if serializer.is_valid():
         try:
             un_id = self.model.objects.get(un_id=serializer.data['un_id'])
             if un_id.owner.is_active:
                 token = self.token_model.objects.get_or_create(
                     user=un_id.owner)[0].key
                 un_id.owner.last_login = timezone.now()
                 un_id.owner.save(update_fields=['last_login'])
                 return Response(
                     {
                         'token': token,
                         'name': un_id.owner.name,
                         'email': un_id.owner.email,
                     },
                     status=status.HTTP_200_OK)
             else:
                 return Response({'error': ['This account is disabled.']},
                                 status=status.HTTP_401_UNAUTHORIZED)
         except self.model.DoesNotExist:
             user, created = self.user_model.objects.get_or_create(
                 email=serializer.data['email'])
             if created:
                 user.name = serializer.data['name']
                 user.is_active = True
                 user.save()
                 Profile(owner=user).save()
                 ProfileImage(owner=user).save()
             try:
                 obj, creat = self.model.objects.get_or_create(
                     un_id=serializer.data['un_id'], owner=user)
                 if not creat:
                     return Response({'error':'This token or email ID is already associated with other email ID or token resp.'},\
                                 status=status.HTTP_400_BAD_REQUEST)
             except:
                 return Response({'error':'This token or email ID is already associated with other email ID or token resp.'},\
                                 status=status.HTTP_400_BAD_REQUEST)
             token, created = Token.objects.get_or_create(user=user)
             return Response(
                 {
                     'token': token.key,
                     'name': user.name,
                     'email': user.email
                 },
                 status=status.HTTP_201_CREATED)
     else:
         return Response(serializer.errors,
                         status=status.HTTP_400_BAD_REQUEST)