def post(self, request): try: type = request.data['type'] if type == 'finish': id = request.data['id'] todo = ToDo.objects.filter(id=id)[0] todo.finished = 1 todo.save() return HttpResponse(json.dumps({ 'status': True, })) else: id = request.data['id'] todo = ToDo.objects.filter(id=id)[0] todo.affair = request.data['affair'] todo.time = request.data['time'] todo.priority = request.data['priority'] todo.save() return HttpResponse(json.dumps({ 'status': True, })) except: serializer = ToDoSerializer(data=request.data) if serializer.is_valid(): serializer.save() return HttpResponse(json.dumps({ 'id': serializer.data['id'], })) return HttpResponse(json.dumps({ 'id': serializer.data['id'], }))
def put(self, request, pk, format=None): self.log(request) todo = InMemoryStore.get(int(pk)) serializer = ToDoSerializer(todo, data=request.data) if serializer.is_valid(): serializer.save(updated_by=request.user.pk) return Response(serializer.data) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def post(self, request, format=None): self.log(request) serializer = ToDoSerializer(data=request.data) if serializer.is_valid(): todo = serializer.save(updated_by=request.user.pk) InMemoryStore.add(todo) return Response(serializer.data, status=status.HTTP_201_CREATED) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def get(self, request, priority): user = User.objects.filter(Email=request.session['Email']) user = user[0] todos = user.user_todo.filter(priority=priority).order_by( 'time', 'finished') serializer = ToDoSerializer(todos, many=True) return Response(serializer.data)
def get(self, request, time1, time2): user = User.objects.filter(Email=request.session['Email']) user = user[0] todos = user.user_todo.all().order_by('time', 'finished') t1 = datetime.date(*map(int, time1.split('-'))) t2 = datetime.date(*map(int, time2.split('-'))) def between(todo): return todo.time >= t1 and todo.time <= t2 todos = filter(between, todos) serializer = ToDoSerializer(todos, many=True) return Response(serializer.data)