58 lines
1.8 KiB
Python
58 lines
1.8 KiB
Python
from django.contrib.auth.mixins import LoginRequiredMixin
|
|
from django.shortcuts import get_object_or_404
|
|
from django.urls import reverse_lazy
|
|
from django.views.generic import CreateView, DeleteView, ListView, UpdateView
|
|
|
|
from games.forms import GameStatusChangeForm
|
|
from games.models import GameStatusChange
|
|
|
|
|
|
class EditStatusChangeView(LoginRequiredMixin, UpdateView):
|
|
model = GameStatusChange
|
|
form_class = GameStatusChangeForm
|
|
template_name = "add.html"
|
|
context_object_name = "form"
|
|
|
|
def get_object(self, queryset=None):
|
|
return get_object_or_404(GameStatusChange, id=self.kwargs["statuschange_id"])
|
|
|
|
def get_success_url(self):
|
|
return reverse_lazy("list_platforms")
|
|
|
|
def get_context_data(self, **kwargs):
|
|
context = super().get_context_data(**kwargs)
|
|
context["title"] = "Edit Platform"
|
|
return context
|
|
|
|
|
|
class AddStatusChangeView(LoginRequiredMixin, CreateView):
|
|
model = GameStatusChange
|
|
form_class = GameStatusChangeForm
|
|
template_name = "add.html"
|
|
|
|
def get_success_url(self):
|
|
return reverse_lazy("view_game", kwargs={"pk": self.object.game.id})
|
|
|
|
def get_context_data(self, **kwargs):
|
|
context = super().get_context_data(**kwargs)
|
|
context["title"] = "Add status change"
|
|
return context
|
|
|
|
|
|
class GameStatusChangeListView(LoginRequiredMixin, ListView):
|
|
model = GameStatusChange
|
|
template_name = "list_purchases.html"
|
|
context_object_name = "status_changes"
|
|
paginate_by = 10
|
|
|
|
def get_queryset(self):
|
|
return GameStatusChange.objects.select_related("game").all()
|
|
|
|
|
|
class GameStatusChangeDeleteView(LoginRequiredMixin, DeleteView):
|
|
model = GameStatusChange
|
|
template_name = "gamestatuschange_confirm_delete.html"
|
|
|
|
def get_success_url(self):
|
|
return reverse_lazy("view_game", kwargs={"game_id": self.object.game.id})
|