Пример #1
0
def create_survey(request):
    if request.user.is_authenticated:
        serializer = SurveySerializer(data=request.data)
        if serializer.is_valid():
            serializer.save(admin=request.user)
            return Response(serializer.data, status=status.HTTP_201_CREATED)
        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
    else:
        return Response({"error": "please login"}, status.HTTP_401_UNAUTHORIZED)
Пример #2
0
def create_survey(request):
    if request.user.is_authenticated:
        serializer = SurveySerializer(data=request.data)
        if serializer.is_valid():
            serializer.save(admin=request.user)
            return Response(serializer.data, status=status.HTTP_201_CREATED)
        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
    else:
        return Response({"error": "please login"},
                        status.HTTP_401_UNAUTHORIZED)
Пример #3
0
def create_survey(request):
    if request.method == 'POST':
        try:
            user = User.objects.get(username=request.user.username)
        except User.DoesNotExist:
            return Response({"error": "user not found"}, status.HTTP_404_NOT_FOUND)

        serializer = SurveySerializer(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)
Пример #4
0
def update_survey(request, uuid):
    if request.user.is_authenticated:
        try:
            survey = Survey.objects.get(pk=uuid)
        except Survey.DoesNotExist:
            return Response(status=status.HTTP_404_NOT_FOUND)

        if request.user == survey.admin:
            serializer = SurveySerializer(survey, data=request.data, context={'request': request})
            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)
        else:
            return Response({"error": "un-authorized"}, status=status.HTTP_403_FORBIDDEN)
    else:
        return Response({"error": "user not found"}, status=status.HTTP_404_NOT_FOUND)
Пример #5
0
def update_survey(request, slug):
    """
    """
    if request.method == 'PUT':
        try:
            user = User.objects.get(username=request.user.username)
        except User.DoesNotExist:
            return Response({"error": "user not found"}, status=status.HTTP_404_NOT_FOUND)

        try:
            survey = Survey.objects.get(slug=slug)
        except Survey.DoesNotExist:
            return Response(status=status.HTTP_404_NOT_FOUND)

        if user.is_staff or user is survey.owner or user in [sa.admin for sa in survey.surveyadmin_set.all()]:
            serializer = SurveySerializer(survey, data=request.data)
            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)
        else:
            return Response({"error": "un-authorized"}, status=status.HTTP_401_UNAUTHORIZED)
Пример #6
0
def update_survey(request, uuid):
    if request.user.is_authenticated:
        try:
            survey = Survey.objects.get(pk=uuid)
        except Survey.DoesNotExist:
            return Response(status=status.HTTP_404_NOT_FOUND)

        if request.user == survey.admin:
            serializer = SurveySerializer(survey,
                                          data=request.data,
                                          context={'request': request})
            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)
        else:
            return Response({"error": "un-authorized"},
                            status=status.HTTP_403_FORBIDDEN)
    else:
        return Response({"error": "user not found"},
                        status=status.HTTP_404_NOT_FOUND)