orginizer/todolist/views.py
2017-12-06 11:56:54 +03:00

50 lines
1.2 KiB
Python

# -*- 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('')