Exemple #1
0
    def patch(self, request, provider_id=None, identity_id=None):
        """
        Authentication Required, Update the users profile.
        Returns: 203 - Success, no body.
        400 - Bad key/value on update, errors in body.
        """
        user = request.user
        profile = user.get_profile()
        mutable_data = request.DATA.copy()

        if mutable_data.has_key('selected_identity'):
            user_data = {
                'selected_identity': mutable_data.pop('selected_identity')
            }
            serializer = AtmoUserSerializer(user, data=user_data, partial=True)
            if serializer.is_valid():
                serializer.save()
        serializer = ProfileSerializer(profile,
                                       data=mutable_data,
                                       partial=True)
        if serializer.is_valid():
            serializer.save()
            response = Response(serializer.data)
            return response
        else:
            return Response(serializer.errors)
Exemple #2
0
    def patch(self, request, provider_id=None, identity_id=None):
        """
        Update a users profile
        If VALID save the profile
        else raise ValidationError
        """
        user = request.user
        profile = user.get_profile()
        mutable_data = request.DATA.copy()

        if mutable_data.has_key('selected_identity'):
            user_data = {
                'selected_identity': mutable_data.pop('selected_identity')
            }
            serializer = AtmoUserSerializer(user, data=user_data, partial=True)
            if serializer.is_valid():
                serializer.save()
        serializer = ProfileSerializer(profile,
                                       data=mutable_data,
                                       partial=True)
        if serializer.is_valid():
            serializer.save()
            response = Response(serializer.data)
            return response
        else:
            return Response(serializer.errors)