musik/game/views.py

33 lines
845 B
Python

from django.contrib.auth.mixins import LoginRequiredMixin
from django.views.generic.detail import DetailView
from django.views.generic.edit import CreateView, DeleteView, UpdateView
from . import models
class OwnerFilterMixin(LoginRequiredMixin):
def get_queryset(self):
return super().get_queryset().filter(owner=self.request.user)
class GroupMixin:
model = models.Group
fields = ["name"]
class GroupCreateView(LoginRequiredMixin, GroupMixin, CreateView):
def form_valid(self, form):
form.instance.owner = self.request.user
return super().form_valid(form)
class GroupUpdateView(OwnerFilterMixin, GroupMixin, UpdateView):
pass
class GroupDeleteView(OwnerFilterMixin, GroupMixin, DeleteView):
success_url = "/"
class GroupDetailView(OwnerFilterMixin, GroupMixin, DetailView):
pass