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({})
Exemple #2
0
def create_account(request):
    print('Check here', request.user, request.data)
    serialized = UserSerializer(data=request.data)
    if serialized.is_valid():
        User.objects.create_user(username=serialized.initial_data['username'],
                                 email=serialized.initial_data['email'],
                                 password=serialized.initial_data['password'])
        return Response(serialized.data, status=status.HTTP_201_CREATED)
    else:
        return Response(serialized._errors, status=status.HTTP_400_BAD_REQUEST)
Exemple #3
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)
Exemple #4
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)
def register(request):
    if request.method == 'POST':
        data = JSONParser().parse(request)
        serialized = UserSerializer(data=data)
        if serialized.is_valid():
            UserSerializer.create(serialized, data)
            return JsonResponse(serialized.data,
                                status=status.HTTP_201_CREATED)
        else:
            return JsonResponse(serialized._errors,
                                status=status.HTTP_400_BAD_REQUEST)
Exemple #6
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)
Exemple #7
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)
Exemple #8
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)
Exemple #9
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)
Exemple #10
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()
Exemple #11
0
 def create(self, request):
     serialized = UserSerializer(data=request.data)
     if serialized.is_valid():
         User.objects.create_user(
             username=serialized.initial_data.get('username'),
             email=serialized.initial_data.get('email'),
             password=serialized.initial_data.get('password'),
             first_name=serialized.initial_data.get('firstName', ''),
             last_name=serialized.initial_data.get('lastName', ''))
         return Response(serialized.data, status=status.HTTP_201_CREATED)
     else:
         return Response(serialized._errors,
                         status=status.HTTP_400_BAD_REQUEST)
Exemple #12
0
    def post(self, request):
        body = json.loads(request.body)
        serializer_user = UserSerializer(data=request.data)

        username = body['username']
        email = body['email']
        password = body['password']

        if serializer_user.is_valid():  # Cria o User
            user = User.objects.create_user(username, email, password)
            return Response(data={"User created."}, status=200)
        else:
            return Response(data={"Invalid user or already created."},
                            status=400)
Exemple #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)
Exemple #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)
Exemple #15
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)
Exemple #16
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"
        )
Exemple #17
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)
Exemple #18
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)
Exemple #19
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']
Exemple #20
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)
Exemple #21
0
 def post(self, request):
     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)