Exemplo n.º 1
0
 def post(self, request, *args, **kwargs):
     serializer = UserSerializer(data=request.data)
     if serializer.is_valid():
         serializer.save()
         return Response(serializer.data)
     print(serializer.errors)
     return Response({})
Exemplo n.º 2
0
 def post(self, request, *args, **kwargs):
     serializer = UserSerializer(data=request.data)
     if serializer.is_valid():
         serializer.save()
         return Response(serializer.data)
     print(serializer.errors)
     return Response({})
Exemplo n.º 3
0
 def patch(self, request, id):
     user = User.objects.get(id=id)
     serializer = UserSerializer(instance=user, data=request.data, partial=True)
     if serializer.is_valid():
         serializer.save()
         return Response(serializer.data, status=status.HTTP_200_OK)
     return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
Exemplo n.º 4
0
 def put(self, request, pk, format=None):
     user = request.user
     serializer = UserSerializer(user, data=request.data)
     if serializer.is_valid():
         serializer.save()
         return Response(serializer.data)
     return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
Exemplo n.º 5
0
 def post(self, request):
     """ Create a User """
     serializer = UserSerializer(data=request.data)
     if serializer.is_valid():
         serializer.save()
         return Response(serializer.data, status=status.HTTP_201_CREATED)
     return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
Exemplo n.º 6
0
    def post(self, request):
        user_data = UserSerializer(data=request.data)

        if not user_data.is_valid():
            return Response({'message': 'Invalid data'}, status=400)

        user_data.save()
        return Response(user_data.data)
Exemplo n.º 7
0
 def post(self, request):
     serializer = UserSerializer(data=request.data)
     if serializer.is_valid():
         serializer.save()
         # if serializer.user is not None:
         #     token = Token.objects.create(user=serializer.user)
         #     send_mail('helo lall', f'{token.key}', '*****@*****.**', [serializer.user.email], fail_silently=False)
         return Response(serializer.data, status=status.HTTP_201_CREATED)
     return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
Exemplo n.º 8
0
 def post(self, request):
     serializer = UserSerializer(data=request.data)
     if serializer.is_valid():
         serializer.save()
         return Response({"message": "Registration successful"},
                         status=status.HTTP_201_CREATED)
     else:
         return Response(serializer.errors,
                         status=status.HTTP_400_BAD_REQUEST)
Exemplo n.º 9
0
    def put(self, request):
        user = User.objects.get(id=request.user.id)
        user_data = UserSerializer(instance=user, data=request.data)

        if not user_data.is_valid():
            return Response({'message': 'Invalid data'}, status=400)

        user_data.save()
        return Response(user_data.data)
Exemplo n.º 10
0
    def create(self, request):
        serializer = UserSerializer(data=request.data)
        if serializer.is_valid():
            try:
                serializer.save()
                return Response({'message': 'Registration successful'}, 201)
            except IntegrityError as e:
                return Response({'error': e.message}, 400)

        else:
            return Response(serializer.errors,
                            status=status.HTTP_400_BAD_REQUEST)
Exemplo n.º 11
0
    def create(self, request):
        serializer = UserSerializer(data=request.data)
        if serializer.is_valid():
            try:
                serializer.save()
                return Response({'message': 'Registration successful'}, 201)
            except IntegrityError as e:
                return Response({'error': e.message}, 400)

        else:
            return Response(serializer.errors,
                            status=status.HTTP_400_BAD_REQUEST)
Exemplo n.º 12
0
    def setUp(self):

        self.user_dict = {
            'first_name': 'aamish',
            'last_name': 'baloch',
            'email': '*****@*****.**',
            'username': '******',
            'password': '******',
        }

        serializer = UserSerializer(data=self.user_dict)
        if serializer.is_valid():
            serializer.save()
Exemplo n.º 13
0
    def patch(self, request):

        serialized_user = UserSerializer(request.user,
                                         data=request.data,
                                         partial=True,
                                         context={'request': request})
        if serialized_user.is_valid():

            serialized_user.save()
            return response.Response(serialized_user.data,
                                     status=status.HTTP_200_OK)

        return response.Response(serialized_user.errors,
                                 status=status.HTTP_400_BAD_REQUEST)
Exemplo n.º 14
0
    def test_invalid_credentials(self):
        """
        Ensure we can't login with invalid credentials.
        """
        serializer = UserSerializer(data=self.user_dict)
        if serializer.is_valid():
            serializer.save()

        url = reverse('login')
        data = {
            "username": self.user_dict['username'],
            "password": '******',
        }
        response = self.client.post(url, data, format='json')
        self.assertEqual(response.status_code, status.HTTP_401_UNAUTHORIZED)
Exemplo n.º 15
0
    def post(self, request):
        serializer = UserSerializer(data=request.data)

        if serializer.is_valid():
            serializer.save()
            return Response.ok(
                data = serializer.data,
                status = status.HTTP_200_OK,
                message= "Registrasi berhasil"
            )
        return Response.badRequest(
            data=serializer.errors,
            status=status.HTTP_400_BAD_REQUEST,
            message= "Registrasi gagal"
        )
Exemplo n.º 16
0
    def post(self, request, sub):

        if request.user.sub != int(sub):
            raise PermissionDenied()

        serializer = UserSerializer(
            data=request.data,
            partial=True
        )

        if serializer.is_valid():
            serializer.save()
            return Response(serializer.data, status=status.HTTP_201_CREATED)
        else:
            return Response(serializer.errors)
Exemplo n.º 17
0
    def test_login_user(self):
        """
        Ensure we can login with a valid user.
        """
        serializer = UserSerializer(data=self.user_dict)
        if serializer.is_valid():
            serializer.save()

        url = reverse('login')
        data = {
            "username": self.user_dict['username'],
            "password": self.user_dict['password'],
        }
        response = self.client.post(url, data, format='json')
        self.assertEqual(response.status_code, status.HTTP_200_OK)
Exemplo n.º 18
0
 def post(self, request, *args, **kwargs):
     register_step = request.data.pop('register_step', None)
     if register_step == 0:
         serializer = UserSerializer(data=request.data)
         if serializer.is_valid():
             request.session['USER'] = request.data
             return Response({})
         else:
             return Response(serializer.errors, status=400)
     elif register_step == 1:
         otp_code = request.data.pop('otp_code', None)
         user_serializer = UserSerializer(data=request.session.get('USER'))
         key = request.session.get('OTP_KEY', 0)
         if pyotp.TOTP(key).verify(otp_code) and user_serializer.is_valid():
             user = user_serializer.save()
             SecretKey.objects.create(user=user, key=key)
             request.session.flush()
             login(request,
                   user,
                   backend='django.contrib.auth.backends.ModelBackend')
             return Response(UserSerializer(user).data)
         else:
             return Response({'error': 'OTP doesn\'t match'}, status=400)
     else:
         return Response(
             {'error': 'Unknown register_step %s' % register_step},
             status=400)
Exemplo n.º 19
0
    def post(self, request):
        data = request.data
        user = User.objects.filter(username=data['email'])
        if user:
            return {'success': 0, 'error': 'user already exist', 'status': status.HTTP_409_CONFLICT}
        user_ser = UserSerializer(data=data)
        if user_ser.is_valid():
            user = user_ser.save()
            data = {
                'activation_code': generate_activation_token(),
                'user': user.id
            }
            # saving activation code to Activation Model through UserActivationSerializer
            user_activation_ser = UserActivationSerializer(data=data)
            if user_activation_ser.is_valid(raise_exception=True):
                token = user_activation_ser.save()

                send_user_mail(
                    template="activation.html",
                    first_name=user.first_name,
                    last_name=user.last_name,
                    subject="Activate Account",
                    activation_url="http://localhost:8000?activate="+token.activation_code,
                    user=user
                )
            return {'success': 1, 'status': status.HTTP_201_CREATED}
Exemplo n.º 20
0
def user_profile(request):
    try:
        user = request.user
    except User.DoesNotExist:
        return HttpResponse(status=404)

    if request.method == 'GET':
        serializer = UserSerializer(user)
        return JsonResponse(serializer.data)

    elif request.method == 'PUT':
        data = JSONParser().parse(request)
        serializer = UserSerializer(user, data=data)
        if serializer.is_valid():
            serializer.save()
            return JsonResponse(serializer.data)
        return JsonResponse(serializer.errors, status=400)
Exemplo n.º 21
0
 def create(self, request, **kwargs):
     serializer = UserSerializer(data=request.data)
     if serializer.is_valid():
         user = serializer.save()
         return Response({"id": str(user.id)}, status=status.HTTP_201_CREATED, content_type="application/json")
     return Response({
         'status': 'Bad request',
         'message': 'Account could not be created with received data.'
     }, status=status.HTTP_400_BAD_REQUEST)
Exemplo n.º 22
0
    def post(self, request, format='json'):
        userSerializer = UserSerializer(data=request.data)

        if userSerializer.is_valid():
            user = userSerializer.save()
            if user:
                return Response(userSerializer.data,
                                status=status.HTTP_201_CREATED)

        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
Exemplo n.º 23
0
 def update(self, request, *args, **kwargs):
     user = self.get_object()
     serializer = UserSerializer(user, data=request.data)
     if serializer.is_valid():
         user = serializer.save()
         update_session_auth_hash(request, user)
         return Response(serializer.data, status=status.HTTP_200_OK)
     return Response({
                 'status': 'Failed',
                 'message': 'Update failed with submitted data'
             }, status=status.HTTP_400_BAD_REQUEST)
Exemplo n.º 24
0
    def patch(self, request, sub):
        manager = request.user

        if not manager.is_staff:
            if request.user.sub != int(sub) or "is_staff" in request.data:
                raise PermissionDenied
            elif "is_staff" in request.data and request.data["is_staff"]:
                raise PermissionDenied
            else:

                try:
                    user = User.objects.get(sub=sub)
                except User.DoesNotExist:
                    raise NotFound

                serializer = UserSerializer(
                    user,
                    data=request.data,
                    partial=True
                )

                if serializer.is_valid(raise_exception=True):
                    serializer.save()
                    return Response(serializer.data)
        else:
            try:
                user = User.objects.get(sub=sub)
            except User.DoesNotExist:
                raise NotFound

            serializer = UserSerializer(
                user,
                data=request.data,
                partial=True
            )

            if serializer.is_valid():
                serializer.save()
                return Response(serializer.data)
            else:
                return Response(serializer.errors)
Exemplo n.º 25
0
    def update(self, request, *args, **kwargs):
        """
        update a specific user
        :param request:
        :param args:
        :param kwargs:
        :return:
        """
        data = request.DATA
        first_name = data.pop('firstName', None)
        last_name = data.pop('lastName', None)
        email = data.pop('email', None)
        password = data.pop('password', None)
        update_data = {}

        if first_name is not None:
            update_data['first_name'] = first_name

        if last_name is not None:
            update_data['last_name'] = last_name

        if email is not None:
            update_data['email'] = email

        if password is not None:
            encrypted_password = make_password(password)
            update_data['password'] = encrypted_password

        user = User.objects.get(pk=request.user.id)
        user_serializer = UserSerializer(instance=user, partial=True,
                                         data=update_data)

        if user_serializer.is_valid():
            user_serializer.save()

        return Response(user_serializer.data)
Exemplo n.º 26
0
    def setUp(self):
        user_dict = {
            'first_name': 'aamish',
            'last_name': 'baloch',
            'email': '*****@*****.**',
            'username': '******',
            'password': '******',
        }

        serializer = UserSerializer(data=user_dict)
        if serializer.is_valid():
            self.user = serializer.save()

        url = reverse('login')
        data = {
            "username": user_dict['username'],
            "password": user_dict['password'],
        }
        response = self.client.post(url, data, format='json')
        self.assertEqual(response.status_code, status.HTTP_200_OK)

        self.token = response.data['token']
Exemplo n.º 27
0
 def post(self, request):
     user_serializer = UserSerializer(data=request.data)
     if user_serializer.is_valid():
         user_serializer.save()
         return Response(user_serializer.data, status = status.HTTP_201_CREATED)
     return Response(serializers.error, status = status.HTTP_400_BAD_REQUEST)