def update(self, request, pk): task = self.get_obj_and_check_permission(Task, request, pk) serializer = TaskSerializer(task, data=request.data) if serializer.is_valid(): serializer.save() return Response(serializer.data) return Response(serializer.errors, status.HTTP_400_BAD_REQUEST)
def put(self, request, pk, format=None): task = self.get_object(pk) serializer = TaskSerializer(task, data=request.data) if serializer.is_valid(): serializer.save() return Response(serializer.data) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def task(request, pk): if request.method == 'GET': try: task = Task.objects.get(pk=pk, user=request.user) except Task.DoesNotExist: raise Http404() serializer = TaskSerializer(task) form = TaskForm(request.POST or None, initial={ 'title': task.title, 'description': task.description, 'deadline': task.deadline, 'status': task.status, 'priority': task.priority }) return render(request, 'tasks/task.html', { 'form': form, 'task_id': task.id, }) if request.method == 'POST': try: task = Task.objects.filter(pk=pk, user=request.user) except Task.DoesNotExist: raise Http404() serializer = TaskSerializer(data=request.POST) if serializer.is_valid(): task.update(**serializer.data) form = TaskForm( request.POST or None ) #, initial={'title':task.title, 'description':task.description, 'deadline':task.deadline, 'status':task.status, 'priority':task.priority}) return render(request, 'tasks/task.html', { 'form': form, 'task_id': pk, })
def post(self, request, format=None): user = User.objects.first() serializer = TaskSerializer(data=request.data, context={'user': user}) 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)
def task_detail(request, pk): """ Get, udpate, or delete a specific task """ try: task = Task.objects.get(pk=pk) except Task.DoesNotExist: return Response(status=status.HTTP_404_NOT_FOUND) if request.method == 'GET': serializer = TaskSerializer(task) return Response(serializer.data) elif request.method == 'PUT': serializer = TaskSerializer(task, data=request.data) if serializer.is_valid(): serializer.save() return Response(serializer.data) else: return Response(serilizer.errors, status=status.HTTP_400_BAD_REQUEST) elif request.method == 'DELETE': task.delete() return Response(status=status.HTTP_204_NO_CONTENT)
def post(self, request, format=None): serializer = TaskSerializer(data=request.data, context={'request': request}) if (serializer.is_valid()): serializer.save(owner=self.request.user) # set current user? return Response(serializer.data, status=status.HTTP_201_CREATED) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def put(self, request, task_id): task = Task.objects.get(pk=task_id) serializer = TaskSerializer(instance=task, data=request.data) if serializer.is_valid(raise_exception=True): serializer.save() return Response(data=serializer.data, status=status.HTTP_200_OK) return Response(data=serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def push_sub_task(self, request, pk=None): serializer = TaskSerializer(data=request.data) if serializer.is_valid(): parent_task = get_object_or_404(self.queryset, pk=pk) parent_task.push_sub_task(**serializer.validated_data) return Response(serializer.data, status=status.HTTP_200_OK) else: return Response(serializer.errors, status=status.HTTP_406_NOT_ACCEPTABLE)
def post(self, request, format=None): serializer = TaskSerializer(data=request.data) if serializer.is_valid(): serializer.validated_data['owner_id'] = request.user.id # without this i get # IntegrityError: null value in column "owner_id" violates not-null constraint error serializer.save() return Response(serializer.data, status=status.HTTP_201_CREATED) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def partial_update(self, request, pk=None): serializer = TaskSerializer(data=request.data) if serializer.is_valid(): project = get_object_or_404(self.queryset, pk=pk) self.check_object_permissions(request, project) serializer.update(project, serializer.validated_data) return Response(status=status.HTTP_200_OK) else: return Response(serializer.errors, status=status.HTTP_406_NOT_ACCEPTABLE)
def patch(self, request, format=None, *args, **kwargs): try: task = Task.objects.get(id=self.kwargs['pk']) serializer = TaskSerializer(task, data=request.data, partial=True) if serializer.is_valid(): serializer.save() return Response(serializer.data, status=status.HTTP_201_CREATED) except Task.DoesNotExist: error = {'error': 'No Tasks Exist'} return Response(data=error, status=status.HTTP_400_BAD_REQUEST)
def post(self, request, *args, **kwargs): serializer = TaskSerializer(data=request.data) if serializer.is_valid(raise_exception=True): print(request.data) serializer.save() return Response(data={}, status=status.HTTP_201_CREATED, template_name='tasks/create-task.html') print(serializer.errors) return Response(data=serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def post(self, request, pk, action): task = Task.objects.filter( Q(created_by=request.user.pk) | Q(assigned_by=request.user.pk)).get(pk=pk) serializer = TaskSerializer(task, data=request.data) if action == 'update': if serializer.is_valid(): serializer.save() return HttpResponseRedirect(reverse('view_task'))
def create(self, request, project_id=None): # TODO add project admin assigment option project = get_object_or_404(Project.objects.all(), id=project_id, owner=request.user) self.check_object_permissions(request, project) serializer = TaskSerializer(data=request.data, context={'request': request}) if serializer.is_valid(): serializer.save(project=project) return Response(serializer.data, status=status.HTTP_201_CREATED) else: return Response(serializer.errors, status=status.HTTP_406_NOT_ACCEPTABLE)
def task_list(request): if request.method == 'POST': serializer = TaskSerializer(data=request.POST) if serializer.is_valid(): task = Task.objects.create(user=request.user, **serializer.data) else: raise SuspiciousOperation('Invalid Data') form = TaskForm() query = dict(request.GET.items()) tasks = Task.objects.filter(user=request.user, **query) serializer = TaskSerializer(tasks, many=True) context = {'tasks_list': serializer.data, 'form': form} return render(request, 'tasks/task_list.html', context)
def task_list(request): """ List all code tasks, or create a new task. """ if request.method == 'GET': tasks = Task.objects.all() serializer = TaskSerializer(tasks, many=True) return JsonResponse(serializer.data, safe=False) elif request.method == 'POST': data = JSONParser().parse(request) serializer = TaskSerializer(data=data) if serializer.is_valid(): serializer.save() return JsonResponse(serializer.data, status=201) return JsonResponse(serializer.errors, status=400)
def task_list(request): """ List all tasks, or create a new task. """ if request.method == 'GET': tasks = Task.objects.all() serializer = TaskSerializer(tasks, many=True) return Response(serializer.data) elif request.method == 'POST': serializer = TaskSerializer(data=request.data) if serializer.is_valid(): serializer.save() return Response(serializer.data, status=status.HTTP_201_CREATED) else: return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def task_detail(request, task_id): """ Retrieve, update or delete a code task. """ try: task = Task.objects.get(pk=task_id) except Task.DoesNotExist: return HttpResponse(status=404) if request.method == 'GET': serializer = TaskSerializer(task) return JsonResponse(serializer.data) elif request.method == 'PUT': data = JSONParser().parse(request) serializer = TaskSerializer(task, data=data) if serializer.is_valid(): serializer.save() return JsonResponse(serializer.data) return JsonResponse(serializer.errors, status=400) elif request.method == 'DELETE': task.delete() return HttpResponse(status=204)
def create_task(self): serializer = TaskSerializer(data=self.base_data) serializer.is_valid(raise_exception=True) serializer.save() return serializer.data
def post(self, request, format=None): serializer = TaskSerializer(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)
def create(self, request): serializer = TaskSerializer(data=request.data) if serializer.is_valid(): serializer.save(user=request.user) return Response(serializer.data, status.HTTP_201_CREATED) return Response(serializer.errors, status.HTTP_400_BAD_REQUEST)