コード例 #1
0
ファイル: entry.py プロジェクト: moment-x/f
def update_user_info(request):
    request.data['contact'] = request.user.contact
    # keep contact inviriant, password is automatically safe
    serializer = UserSerializer(request.user, data=request.data)
    if serializer.is_valid():
        serializer.save()
        return CostaResponse('0', 'OK')
コード例 #2
0
ファイル: qq_user.py プロジェクト: smilejay/music-web
def add_update(data):
    '''
    @summary: add (if no) or update a user record.
    @parm data: a dict for the User's serializer.
    @return: None.
    '''
    try:
        user = User.objects.get(openid=data['openid'])
        user_se = UserSerializer(user, data=data, partial=True)
    except User.DoesNotExist:
        user_se = UserSerializer(data=data)
    if user_se.is_valid():
        user_se.save()
コード例 #3
0
ファイル: views.py プロジェクト: weehan-dev/django-api
 def post(self, request, format=None):
     """
     create User
     """
     serializer = UserSerializer(data=request.data)
     if serializer.is_valid():
         user = serializer.save()
         if user:
             return Response(serializer.data,
                             status=status.HTTP_201_CREATED)
         else:
             return Response(status=status.HTTP_501_NOT_IMPLEMENTED)
     return Response(status=status.HTTP_406_NOT_ACCEPTABLE,
                     data=serializer.errors)
コード例 #4
0
ファイル: views.py プロジェクト: shivam-0912/manIIT_backend
def signup(request, format=None):
    if request.method == 'POST':
        serializer = UserSerializer(data=request.data)
        if serializer.is_valid():
            digits = [i for i in range(0, 10)]
            random_str = ""

            for i in range(6):
                index = math.floor(random.random() * 10)
                random_str += str(digits[index])
            serializer.save()
            newdict = {'otp': random_str}
            newdict.update(serializer.data)
            return Response(newdict, status=status.HTTP_201_CREATED)
        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
コード例 #5
0
def test_add_user():
    data = {
        "username": "******",
        "email": "*****@*****.**",
        "first_name": "Test",
        "last_name": "Test",
        "password": "******",
        "confirm_password": "******",
    }

    serializer = UserSerializer(data=data)
    assert serializer.is_valid() is True

    instance = serializer.save()
    assert instance.username == "test"
コード例 #6
0
ファイル: views.py プロジェクト: datilp/pit-admin-tool
    def ppost(self, request, *args, **kwargs):
        import json
        print(json.dumps(request.data, indent=2))

        #serializer = self.get_serializer(data=request.data)
        #serializer = UserSerializer.objects.create_user(**request.data)
        #user = get_user_model().objects.create_user(email="*****@*****.**",
        #                                            password="******")
        print("after user")
        serializer = UserSerializer(data=request.data)
        print("created serializer")
        try:
            serializer.is_valid(raise_exception=True)
        except exceptions as e:
            print("Exception:%s" % e.strerror)

        print("serializer_isvalid")
        #self.perform_create(serializer)
        serializer.save()
        print("serializer.data:", json.dumps(serializer.data, indent=2))
        headers = self.get_success_headers(serializer.data)
        return Response(serializer.data,
                        status=status.HTTP_201_CREATED,
                        headers=headers)
コード例 #7
0
def create_empty_user(request):
    data = {
        'name': '',
        'clock': None,
        'token': '',
        'drinking': False,
        'smoking': False
    }
    serializer = UserSerializer(data=data)

    if serializer.is_valid():
        serializer.save()
        return JsonResponse(serializer.data, status=201)

    return JsonResponse(serializer.errors, status=400)
コード例 #8
0
 def update(self, request, pk):
     """
     Updates a User with the given data
     :param request: HttpRequest
     :param pk: User primary key
     :return: Response
     """
     user = get_object_or_404(User, pk=pk)
     self.check_object_permissions(request, user)
     serializer = UserSerializer(user, data=request.data)
     if serializer.is_valid():
         user = serializer.save()
         return Response(serializer.data, status=status.HTTP_202_ACCEPTED)
     else:
         return Response(serializer.errors,
                         status=status.HTTP_400_BAD_REQUEST)
コード例 #9
0
 def post(self, request):
     user_token = request.data['token']
     res = self.debug_token(user_token)
     sns_id = res['data']['user_id']
     try:
         user = User.objects.get(sns_type='facebook', sns_id=sns_id)
         # token 갱신
         data = {'sns_access_token': user_token}
         serializer = UserSerializer(user, data=data, partial=True)
         if serializer.is_valid():
             serializer.save()
             return Response(response_data(True, serializer.data))
         else:
             return Response(response_data(False, 'FB 토큰 갱신 에러'))
     except User.DoesNotExist:
         return Response(response_data(True, None))
コード例 #10
0
 def post(self, request, format=None):
     #查看注册权限是否打开
     if not getRegisterPermission(request):
         return Response("Registration not open!",
                         status=HTTP_400_BAD_REQUEST)
     data = request.data.copy()
     username = data.get('username')
     #查看用户注册用户名是否重名
     if User.objects.filter(username=username):
         return Response("The username already exists!", status=HTTP_200_OK)
     data['type'] = UserType.REGULAR_USER
     serializer = UserSerializer(data=data)
     if serializer.is_valid(raise_exception=True):
         serializer.save()
         return Response(serializer.data, status=HTTP_200_OK)
     return Response(serializer.errors, status=HTTP_400_BAD_REQUEST)
コード例 #11
0
ファイル: views.py プロジェクト: DubleDstudy/sconsurver
def user_list(request):
    if request.method == 'GET':
        user = User.objects.all()
        user_serializer = UserSerializer(user, many=True)
        return JsonResponse(user_serializer.data, safe=False)
        # In order to serialize objects, we must set 'safe=False'

    elif request.method == 'POST':
        user_data = JSONParser().parse(request)
        user_serializer = UserSerializer(data=user_data)
        if user_serializer.is_valid():
            user_serializer.save()
            return JsonResponse(user_serializer.data,
                                status=status.HTTP_201_CREATED)
        return JsonResponse(user_serializer.errors,
                            status=status.HTTP_400_BAD_REQUEST)
コード例 #12
0
ファイル: views.py プロジェクト: ireland-advisor/Advisor
    def post(self, request, *args, **kwargs):
        serializer = UserSerializer(data=request.data)
        if serializer.is_valid():
            data = serializer.validated_data
            try:
                okta_user_id = create_okta_user(data)
                send_email(data['email'], okta_user_id)
                serializer.save(okta_id=okta_user_id)
                return JsonResponse({"result": {"okta_user_id": okta_user_id}},
                                    status=status.HTTP_201_CREATED)
            except Exception as e:
                return JsonResponse({"result": {'error': e.args[0]}},
                                    status=status.HTTP_400_BAD_REQUEST)

        return JsonResponse({"result": {'error': serializer.errors}},
                            status=status.HTTP_400_BAD_REQUEST)
コード例 #13
0
ファイル: views.py プロジェクト: weehan-dev/django-api
    def put(self, request, format=None):
        old_password = request['PUT']['old_password']
        if not request.user.check_password(old_password):
            return Response(status=status.HTTP_406_NOT_ACCEPTABLE,
                            data='이전 비밀번호가 맞지 않습니다.')

        serializer = UserSerializer(request.user,
                                    data=request.data,
                                    partial=True)
        if serializer.is_valid(raise_exception=True):
            account = serializer.save()
            if account:
                return Response(status=status.HTTP_202_ACCEPTED,
                                data=serializer.data)
            return Response(status=status.HTTP_501_NOT_IMPLEMENTED)
        return Response(status=status.HTTP_406_NOT_ACCEPTABLE,
                        data=serializer.errors)
コード例 #14
0
 def create(self, request, *args, **kwargs):
     username = request.data.get("username", None)
     password = request.data.get("password", None)
     lang = request.data.get("lang", 'fa')
     user_serializer = UserSerializer(data={
         "username": username,
         "password": password
     },
                                      context={"request": request})
     if user_serializer.is_valid():
         user = user_serializer.save()
         if password:
             user.set_password(password)
             user.save()
         profile = UserProfile.objects.create(user=user, lang=lang)
         return Response(self.serializer_class(profile).data)
     else:
         return Response(status=400)
コード例 #15
0
ファイル: views.py プロジェクト: sabreenghanem/rest_tutorial
    def create(self, request, format=None):
        content = request.data

        user = User.objects.create(
            first_name=content.get("first_name"),
            surname=content.get("surname"),
            email=content.get("email"),
            date_of_birth=content.get("date_of_birth"),
            phone=content.get("phone"),
            country_code_lookup=content.get("country_code_lookup"),
            gender=content.get("gender"),
            password=content.get("password"))
        user.save()

        serializer = UserSerializer(data=content)
        if serializer.is_valid():
            return Response(serializer.data, status=status.HTTP_201_CREATED)
        return Response(serializer.errors, status=status.HTTP_404_NOT_FOUND)
コード例 #16
0
def user_detail(request, pk):
    # find user by pk (id)
    try: 
        user = User.objects.get(pk=pk) 
        if request.method == 'GET': 
            user_serializer = UserSerializer(user) 
            return JsonResponse(user_serializer.data)
        elif request.method == 'PUT': 
            user_serializer = UserSerializer(user, data=request.data) 
            if user_serializer.is_valid(): 
                user_serializer.save() 
                return JsonResponse(user_serializer.data) 
            return JsonResponse(user_serializer.errors, status=status.HTTP_400_BAD_REQUEST) 
        elif request.method == 'DELETE': 
            user.delete() 
            return JsonResponse({'message': 'User was deleted successfully!'}, status=status.HTTP_204_NO_CONTENT)
    except User.DoesNotExist: 
        return JsonResponse({'message': 'The User does not exist'}, status=status.HTTP_404_NOT_FOUND)
コード例 #17
0
ファイル: views.py プロジェクト: juancelemin/chat
 def post(self, request, format=None):
     user_data = {
         "username": request.data["email"].split('@')[0],
         "email": request.data["email"],
         "password": request.data["password"],
     }
     print(user_data)
     user = User.objects.create_user(username=user_data["username"],
                                     email=user_data["email"],
                                     password=user_data["password"])
     print('holal', user.username)
     serializer = UserSerializer(data=user)
     if serializer.is_valid():
         serializer.save()
     return Response({
         'status': 'ok',
         'descripcion': 'usuario creado'
     },
                     status=status.HTTP_201_CREATED)
コード例 #18
0
ファイル: views.py プロジェクト: firatbulut19/leaderboard
    def post(self, request):

        data = request.data
        user = self.get_user(data['user_id'])
        if isinstance(user, Response):
            return user

        try:
            int(data['score_worth'])
        except ValueError:
            return Response({'message': 'Invalid score type.'},
                            status=status.HTTP_400_BAD_REQUEST)

        if int(data['score_worth']) < 0:
            return Response({'message': 'Score can not be a negative number.'},
                            status=status.HTTP_400_BAD_REQUEST)

        # first submits the score, then calculates the new rank of the user
        # and returns the updates values of the user.
        pipeline = redis_instance.pipeline()
        pipeline.zadd(set_name, {data['user_id']: data['score_worth']},
                      incr=True)
        pipeline.zrevrank(set_name, data['user_id'])
        pipeline.zadd(user.country, {data['user_id']: data['score_worth']},
                      incr=True)
        pipeline.zrevrank(user.country, data['user_id'])
        pipeline.zscore(user.country, data['user_id'])
        pipeline_values = pipeline.execute()
        data = {
            'rank': int(pipeline_values[1]) + 1,
            'points': int(pipeline_values[4]),
            'country_rank': int(pipeline_values[3]) + 1,
        }

        # saves the updated rank and score of the user to the database.
        serializer = UserSerializer(user,
                                    data=data,
                                    context={'request': request},
                                    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)
コード例 #19
0
    def create(self, request, *args, **kwargs):
        serializer = UserSerializer(data=request.data)

        if serializer.is_valid():
            user = serializer.save()

            token, created = Token.objects.get_or_create(
                user=serializer.instance)
            return_serializer = UserSerializer(user)

            view_format = {
                'status_code': status.HTTP_201_CREATED,
                'data': {
                    'user': return_serializer.data,
                    'token': token.key
                }
            }
            return Response(view_format, status=status.HTTP_201_CREATED)
        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
コード例 #20
0
def get_post_employee(request):
    # get all employee
    if request.method == 'GET':
        employees = User.objects.all()
        serializer = UserSerializer(employees, many=True)
        return Response(serializer.data)
    # insert a new record for a employee
    if request.method == 'POST':
        data = {
            "uid": request.data.get('uid'),
            "uname": request.data.get('uname'),
            "uemail": request.data.get('uemail'),
            "upassword": request.data.get('upassword'),
            "ucontact": request.data.get('ucontact')
        }
        serializer = UserSerializer(data=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)
コード例 #21
0
ファイル: views.py プロジェクト: Aldeshov/SkillMateAPI
def list_of_users(request):
    if request.method == 'GET':
        users = Person.objects.all()
        serializer = PersonSerializer(users, many=True)
        return Response(serializer.data)

    elif request.method == 'POST':
        u_serializer = UserSerializer(data=request.data.get("user"))
        if u_serializer.is_valid():
            u_serializer.save()
            data = request.data
            rating = Rating.objects.create()
            data['user_id'] = u_serializer.data.get("id")
            data['rating_id'] = rating.id
            p_serializer = PersonSerializer(data=data)
            if p_serializer.is_valid():
                p_serializer.save()
                return Response(p_serializer.data, status=status.HTTP_201_CREATED)
            return Response(p_serializer.errors, status=status.HTTP_500_INTERNAL_SERVER_ERROR)
        return Response(status=status.HTTP_500_INTERNAL_SERVER_ERROR)
コード例 #22
0
ファイル: views.py プロジェクト: dillonkh/Unite3D_API
    def post(self, request, *args, **kwargs):  # pylint: disable=unused-argument
        """
        Defines HTTP POST method for Register Endpoint
        """
        serializer = UserSerializer(data=request.data)

        if not serializer.is_valid():
            return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)

        user = User.objects.create_user(serializer.initial_data['email'],
                                        serializer.initial_data['password'],
                                        first_name=serializer.initial_data['first_name'],
                                        last_name=serializer.initial_data['last_name'],
                                        is_vendor=serializer.initial_data['is_vendor'])

        token = create_jwt(user)

        return Response({
            'token': token,
            'user': serializer.data,
        }, status=status.HTTP_201_CREATED)
コード例 #23
0
ファイル: views.py プロジェクト: xdeepanshu/mb
    def put(self, request, *args, **kwargs):

        """
        Updates the parameters of the user 
        """
        try:
            data = request.data.copy() #Request.data is immutable
            user = CustomUser.objects.get(pk=request.user.id)
            if not data.__contains__("username"):
                data["username"] = getattr(user, "username")    
            serializer = UserSerializer(user, data=data)
            if serializer.is_valid():
                serializer.save()
                return Response(serializer.data)
            else:
                data['error'] = serializer.errors
                return Response(data=data, status=status.HTTP_204_NO_CONTENT)
        except CustomUser.DoesNotExist:
            data = {}
            data["error"] = "Sorry but you don't exist"
            raise ValidationError(data)
コード例 #24
0
 def check_user(self, data):
     """
         Check if there is a user with that email, otherwise it creates it
         
     :param data: Information of the user
     :return: User
     """
     email = data.get('email', '')
     user_data = {
         'email': email,
         'phone': data.get('phone', ''),
         'address': data.get('address', '')
     }
     user = User.objects.filter(email=email).first()
     serializer = UserSerializer(
         user, data=user_data) if user else UserSerializer(data=user_data)
     if serializer.is_valid():
         user = serializer.save()
         return user, serializer.data
     else:
         return Response(serializer.error_messages,
                         status=status.HTTP_400_BAD_REQUEST)
コード例 #25
0
ファイル: views.py プロジェクト: shivam-0912/manIIT_backend2
def user_detail(request, pk, format=None):
    """
    Retrieve, update or delete a code item.
    """
    try:
        user1 = user.objects.get(user_id=pk)
    except user.DoesNotExist:
        return Response(status=status.HTTP_404_NOT_FOUND)

    if request.method == 'GET':
        serializer = UserSerializer(user1)
        return Response(serializer.data)

    elif request.method == 'PUT':
        serializer = UserSerializer(user1, data=request.data)
        if serializer.is_valid():
            serializer.save()
            return Response(serializer.data)
        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)

    elif request.method == 'DELETE':
        user1.delete()
        return Response(status=status.HTTP_204_NO_CONTENT)
コード例 #26
0
def get_delete_update_employee(request, pk):
    try:
        user = User.objects.get(pk=pk)
    except User.DoesNotExist:
        return Response(status=status.HTTP_404_NOT_FOUND)

    # get details of a single employee
    if request.method == 'GET':
        serializer = UserSerializer(user)
        return Response(serializer.data)

    # update details of a single employee
    if request.method == 'PUT':
        serializer = UserSerializer(user, data=request.data)
        if serializer.is_valid():
            serializer.save()
            return Response(serializer.data, status=status.HTTP_204_NO_CONTENT)
        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)

    # delete a single employee
    if request.method == 'DELETE':
        user.delete()
        return Response(status=status.HTTP_204_NO_CONTENT)
コード例 #27
0
ファイル: views.py プロジェクト: hithgor/FooDiary
    def createInactive(request):
        email = request.POST.get('email')
        password = request.POST.get('password')
        if not email:
            return Response({'response': 'error', 'message': 'No data found'})
        serializer = UserSerializer(data=request.data)
        if serializer.is_valid():

            saved_user = serializer.save()
            current_site = get_current_site(request)
            mail_subject = 'Activate your account.'
            message = render_to_string(
                '../templates/core/acc_active_email.html', {
                    'email': email,
                    'domain': current_site.domain,
                    'uid': urlsafe_base64_encode(force_bytes(
                        saved_user.email)),
                    'token': account_activation_token.make_token(saved_user),
                })
            emailToBeSent = EmailMessage(mail_subject, message, to=[email])
            emailToBeSent.send()

            res = messages.info(
                request,
                'Please confirm your email address to complete registration')
            return Response(request.data,
                            status=201,
                            template_name='ct/caloriestracker.html')
        else:
            messages.error(request, 'Invalid credentials')
            return Response(request.data,
                            status=400,
                            template_name='ct/caloriestracker.html')
            #return Response({"response" : "error", "message" : serializer.errors})
        #return Response({"response" : "success", "message" : "user created succesfully"})
        messages.success(request, 'That went swwwwimmingly')
        return redirect('caloriestracker')
コード例 #28
0
ファイル: views.py プロジェクト: bakubay/methodpro-ms-task1
def user_detail(request, pk, format=None):
    """
    Retrieve, update or delete a user detail.
    """
    try:
        user = User.objects.get(pk=pk)
    except User.DoesNotExist:
        return Response(status=status.HTTP_404_NOT_FOUND)

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

    elif request.method == 'PUT':
        serializer = UserSerializer(user, data=request.data, partial=True)
        if serializer.is_valid():
            serializer.save()
            return Response(serializer.data)
        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)

    elif request.method == 'DELETE':
        user.active = False
        user.save()
        return Response(status=status.HTTP_204_NO_CONTENT)
コード例 #29
0
    def participant(self, request):
        username = request.data.get('username')
        password = request.data.get('password')

        user = authenticate(request, username=username, password=password)

        if user:
            login(request, user)
            user_serializer = UserSerializer(user, data=request.data)
            # auth = request.data.get('auth')
            auth_obj = UserAuth.objects.get(user=user)

            if auth_obj.role == "participant":
                return Response(
                    {"error": "A Participant cannot add his own new role."},
                    status=status.HTTP_400_BAD_REQUEST)
            elif (auth_obj.role == "instructor") ^ (
                    auth_obj.role == "participant and instructor"):
                UserAuth.objects.filter(user=user).update(
                    role="participant and instructor")
                auth_obj.save()

                participant_data = request.data.get('participant')
                ParticipantProfile.objects.update_or_create(
                    user=user, defaults=participant_data)

            if user_serializer.is_valid():
                user_serializer.save()
                return Response(user_serializer.data,
                                status=status.HTTP_201_CREATED)
            else:
                return Response(user_serializer.errors,
                                status=status.HTTP_400_BAD_REQUEST)

        return Response({"error": "Wrong username or wrong password"},
                        status=status.HTTP_403_FORBIDDEN)
コード例 #30
0
def user_list(request):
    # GET list of User, POST a new User, DELETE all User
    if request.method == 'GET':
        user = User.objects.all()
        
        name = request.GET.get('name', None)
        if name is not None:
            user = user.filter(name__icontains=name)
        
        user_serializer = UserSerializer(user, many=True)
        return JsonResponse(user_serializer.data, safe=False)
        
        # 'safe=False' for objects serialization
    elif request.method == 'POST':
        # user_data = JSONParser().parse(request)
        user_serializer = UserSerializer(data=request.data)
        if user_serializer.is_valid():
            user_serializer.save()
            return JsonResponse(user_serializer.data, status=status.HTTP_201_CREATED) 
        return JsonResponse(user_serializer.errors, status=status.HTTP_400_BAD_REQUEST)

    elif request.method == 'DELETE':
        count = User.objects.all().delete()
        return JsonResponse({'message': '{} User was/were deleted successfully!'.format(count[0])}, status=status.HTTP_204_NO_CONTENT)
コード例 #31
0
    def test_user_serializer(self):
        # write
        data = {
            'username': '******',
            'password': '******',
            'identity_document_number': 'B875013(6)',
        }
        serializer = UserSerializer(data=data)
        serializer.is_valid(raise_exception=True)
        user = serializer.save()
        self.assertEqual(user.username, 'foo')
        self.assertEqual(user.identity_document_number, 'B875013(6)')

        # duplicated username
        data = {
            'username': '******',
            'password': '******',
            'identity_document_number': 'B875013(6)',
        }
        serializer = UserSerializer(data=data)
        with self.assertRaises(ValidationError):
            serializer.is_valid(raise_exception=True)

        # invalid identity document number
        data = {
            'username': '******',
            'password': '******',
            'identity_document_number': 'B875013(0)',
        }
        serializer = UserSerializer(data=data)
        with self.assertRaises(ValidationError):
            serializer.is_valid(raise_exception=True)

        # read
        serializer = UserSerializer(user)
        with self.assertRaises(NotImplementedError):
            _ = serializer.data
コード例 #32
0
def addUser(request):  # 添加数据
    ser = UserSerializer(data=request.data)
    if ser.is_valid():
        ser.save()
        return Response(ser.data)
    return Response(ser.errors)