1
0
Fork 0
mirror of https://github.com/Findus23/RPGnotes.git synced 2024-09-19 15:43:45 +02:00
RPGnotes/days/views.py

55 lines
1.4 KiB
Python
Raw Normal View History

2021-08-28 19:52:07 +02:00
from django.shortcuts import redirect
from django.urls import reverse_lazy
from django.views import generic
2021-08-29 22:09:22 +02:00
from days.forms import DayForm
from days.models import IngameDay
2021-08-28 19:52:07 +02:00
def list_day_redirect(request, *args, **kwargs):
latest_day: IngameDay = IngameDay.objects.first()
2021-08-29 00:20:02 +02:00
if not latest_day:
return redirect("dayadd")
2021-08-28 19:52:07 +02:00
return redirect(latest_day)
class DayDetailView(generic.DetailView):
2021-08-29 22:09:22 +02:00
template_name = "days/day_detail.html"
2021-08-28 19:52:07 +02:00
model = IngameDay
context_object_name = "day"
def get_object(self, queryset=None):
2021-09-08 11:44:24 +02:00
return IngameDay.objects.get(day=self.kwargs['day'])
2021-08-28 19:52:07 +02:00
2021-09-23 20:59:33 +02:00
def get_context_data(self, **kwargs):
data = super().get_context_data(**kwargs)
data["days"] = IngameDay.objects.all().select_related()
return data
2021-08-28 19:52:07 +02:00
class DayCreateView(generic.CreateView):
2021-08-29 22:09:22 +02:00
template_name = "loot/edit.html"
2021-08-28 19:52:07 +02:00
model = IngameDay
form_class = DayForm
context_object_name = "object"
class DayEditView(generic.UpdateView):
2021-08-29 22:09:22 +02:00
template_name = "loot/edit.html"
2021-08-28 19:52:07 +02:00
model = IngameDay
form_class = DayForm
def get_context_data(self, **kwargs):
data = super().get_context_data(**kwargs)
data['edit'] = True
return data
2021-09-08 11:44:24 +02:00
def get_object(self, queryset=None):
return IngameDay.objects.get(day=self.kwargs['day'])
2021-08-29 00:20:02 +02:00
2021-08-28 19:52:07 +02:00
class DayDeleteView(generic.DeleteView):
2021-08-29 22:09:22 +02:00
template_name = "common/campaign_confirm_delete.html"
2021-08-28 19:52:07 +02:00
model = IngameDay
success_url = reverse_lazy('daylist')