41 lines
1.1 KiB
Python
41 lines
1.1 KiB
Python
from django.contrib.auth.mixins import LoginRequiredMixin
|
|
from django.http import HttpResponseRedirect
|
|
from django.urls import reverse
|
|
from django.views.generic import CreateView
|
|
from django.views.generic import ListView
|
|
from django.views.generic import UpdateView
|
|
|
|
from .models import Circle
|
|
|
|
# Create your views here.
|
|
|
|
|
|
class CircleListView(LoginRequiredMixin, ListView):
|
|
def get_queryset(self):
|
|
return Circle.objects.filter(owner=self.request.user)
|
|
|
|
|
|
class CircleUpdateView(LoginRequiredMixin, UpdateView):
|
|
model = Circle
|
|
fields = ["name", "description", "members"]
|
|
|
|
def get_queryset(self):
|
|
return Circle.objects.filter(owner=self.request.user)
|
|
|
|
def get_success_url(self):
|
|
return reverse("circles:circle_list")
|
|
|
|
|
|
class CircleCreateView(LoginRequiredMixin, CreateView):
|
|
model = Circle
|
|
fields = ["name", "description", "members"]
|
|
|
|
def form_valid(self, form):
|
|
circle = form.save(commit=False)
|
|
circle.owner = self.request.user
|
|
circle.save()
|
|
|
|
return HttpResponseRedirect(self.get_success_url())
|
|
|
|
def get_success_url(self):
|
|
return reverse("circles:circle_list")
|