Beispiel #1
0
    def put(self, request, *args, **kwargs):
        serializer_data = request.data.get('user', {})

        serializer = UserSerializer(request.user,
                                    data=serializer_data,
                                    partial=True)
        serializer.is_valid(raise_exception=True)
        serializer.save()

        return Response(serializer.data, status=status.HTTP_200_OK)
Beispiel #2
0
    def create(self, request, *args, **kwargs):

        try:
            request.data['username'] = request.data.get('email')
            user_serializer = UserSerializer(data=request.data, partial=False)
            if user_serializer.is_valid():
                user_serializer.save()
                email = request.data['email']
                last_user = User.objects.get(email=email)
                activation_code = random_string()
                code_data = {
                    'requester_id': last_user.id,
                    'type': 'registration',
                    'code': activation_code,
                    'expiry': datetime.now(tz=timezone.utc) + timedelta(days=1)
                }
                code_serializer = CodeSerializer(data=code_data)
                if code_serializer.is_valid():
                    code_serializer.save()
                    send_luna_emails(last_user, 'activation', activation_code)
                    return Response(None, status=status.HTTP_204_NO_CONTENT)
                else:
                    return Response(code_serializer.errors,
                                    status=status.HTTP_400_BAD_REQUEST)
            return Response(user_serializer.errors,
                            status=status.HTTP_400_BAD_REQUEST)
        except AttributeError as e:
            return Response(str(e), status=status.HTTP_400_BAD_REQUEST)
Beispiel #3
0
	def put(self,request,user_id):
		try:
			get_data = UserProfile.objects.get(pk=user_id)
			update_data = UserSerializer(get_data,data=request.data)
			if update_data.is_valid():
				update_data.save()
				return Response(update_data.data)
		except:
			return Response("Error" ,status=status.HTTP_400_BAD_REQUEST)
Beispiel #4
0
 def patch(self, request, *args, **kwargs):
     request.data['username'] = request.data.get('email')
     serializer = UserSerializer(request.user,
                                 data=request.data,
                                 partial=True)
     if serializer.is_valid():
         serializer.save()
         return Response(None, status=status.HTTP_204_NO_CONTENT)
     else:
         return Response(serializer.errors,
                         status=status.HTTP_400_BAD_REQUEST)
Beispiel #5
0
	def post(self,request):
		try:
			
			user = self.create_user(request)
			if not(user):
				return Response("Error while create user",status=status.HTTP_404_NOT_FOUND)

			self.overWrite(request, {'user':user.id})
			print(request.data)	
			user_data = UserSerializer(data=request.data)
			if not(user_data.is_valid()):
				return Response(user_data.errors,status=status.HTTP_404_NOT_FOUND)
			user_data.save()
			return Response(user_data.data,status=status.HTTP_201_CREATED)
		except Exception as err:
			print(err)
			return Response("Error",status=status.HTTP_404_NOT_FOUND)
Beispiel #6
0
    def post(self, request):
        """
           This api make user login.
           url: user/login
        """
        try:
            if request.data.get('email') and request.data.get('password'):
                user = UserSerializer(data=request.data)
                if not user.is_valid():
                    return ApiResponse().error(user.errors, 400)
                try:
                    user_email = User.objects.get(
                        email=request.data.get('email'))
                    auth_user = authenticate(
                        username=user_email,
                        password=request.data.get('password'))
                except Exception as err:
                    print(err)
                    return ApiResponse().error("Invalid username or password",
                                               400)
                if not auth_user:
                    return ApiResponse().error("invalid username or password",
                                               400)
                token, create = Token.objects.get_or_create(
                    user_id=auth_user.id)
                if (auth_user):
                    try:
                        userprofile = UserProfile.objects.get(
                            user_id=auth_user.id, is_deleted=False)
                        user_data = ProfileSerializer(userprofile)
                    except Exception as err:
                        print(err)
                        return ApiResponse().error("invalid email or password",
                                                   400)

                token_value = {
                    'token': token.key,
                }
                user_response = user_data.data
                user_response.update(token_value)
                return ApiResponse().success(user_response, 200)
            return ApiResponse().error(
                "Please send correct email and password", 400)
        except Exception as err:
            print(err)
            return ApiResponse().error("Error while login", 500)
Beispiel #7
0
    def post(self, request, *args, **kwargs):

        try:
            code_entry = ActivationCodes.objects.get(
                code=self.kwargs.get('code'))
            user = User.objects.get(id=code_entry.requester_id_id)

            if code_entry.expiry > datetime.now(tz=timezone.utc):
                user_serializer = UserSerializer(user,
                                                 data={'is_active': True},
                                                 partial=True)
                if user_serializer.is_valid():
                    user_serializer.save()
                    return Response(None, status=status.HTTP_204_NO_CONTENT)
                return Response('Input validation error',
                                status=status.HTTP_400_BAD_REQUEST)
            else:
                return Response('Activation code has expired',
                                status=status.HTTP_422_UNPROCESSABLE_ENTITY)
        except User.DoesNotExist as e:
            return Response(str(e), status=status.HTTP_404_NOT_FOUND)
        except ActivationCodes.DoesNotExist as e:
            return Response(str(e), status=status.HTTP_404_NOT_FOUND)
Beispiel #8
0
    def post(self, request):
        """
           This api create user.'Email' and 'Password' field is required.
           url: user/create

        """
        try:
            user_info = UserSerializer(data=request.data)
            if not user_info.is_valid():
                return ApiResponse().error(user_info.errors, 400)
            user = self.create_user(request)
            if not (user):
                return ApiResponse().error("This email is already exists", 400)
            RequestOverwrite().overWrite(request, {'user': user.id})
            user_data = ProfileSerializer(data=request.data)
            if not (user_data.is_valid()):
                return ApiResponse().error(user_data.errors, 400)
            user_data.save()
            return ApiResponse().success(user_data.data, 200)
        except Exception as err:
            print(err)
            return ApiResponse().error(
                "There is a problem while creating user", 500)
Beispiel #9
0
 def post(self, request):
     user = request.data
     serializer = UserSerializer(data=user)
     serializer.is_valid(raise_exception=True)
     serializer.save()
     return Response(serializer.data, status=status.HTTP_201_CREATED)