# -*- coding: utf-8 -*- from __future__ import unicode_literals from django.http import HttpResponse, HttpResponseRedirect from django.shortcuts import render from django.views.generic import ( View, TemplateView, ListView, CreateView, UpdateView, DeleteView ) from django.views.generic.detail import SingleObjectMixin from django.core.urlresolvers import reverse_lazy from .models import Task class TaskView(ListView): model = Task context_object_name = 'tasks' template_name = "todolist/todo.html" def post(self, request): if request.is_ajax(): obj = Task.objects.get(id=request.POST["id"]) if "done" in request.POST: obj.if_done = True else: obj.if_done = False obj.save() return HttpResponse('OK') class TaskCreateView(CreateView): model = Task fields = ('title',) success_url = reverse_lazy('tasks') class TaskUpdateView(UpdateView): model = Task fields = ('title',) class TaskDeleteView(View, SingleObjectMixin): model = Task pk_url_kwarg = 'id' def post(self, request): self.kwargs = request.POST self.object = self.get_object() self.object.delete() return HttpResponse('')