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

57 lines
1.5 KiB
Python
Raw Normal View History

2021-08-28 19:52:07 +02:00
from django.db.models import Sum
2021-08-29 22:09:22 +02:00
from django.urls import reverse_lazy
2021-08-22 20:10:29 +02:00
from django.views import generic
2021-08-29 22:09:22 +02:00
from loot.forms import LootForm
2021-09-08 11:44:24 +02:00
from loot.models import Loot
2022-06-19 16:03:59 +02:00
from utils.views import JSONResponseMixin
2021-08-22 20:10:29 +02:00
class LootListView(generic.ListView):
2021-10-15 21:47:49 +02:00
template_name = "loot/overview.jinja"
2021-08-22 20:10:29 +02:00
model = Loot
context_object_name = "loot"
2022-11-19 17:40:46 +01:00
def get_queryset(self):
show_former = self.request.GET.get('show_former', False) == "true"
return Loot.objects.filter(former=show_former)
2021-08-28 19:52:07 +02:00
def get_context_data(self, **kwargs):
data = super().get_context_data(**kwargs)
data['total_value'] = self.get_queryset().aggregate(Sum("value_gold"))["value_gold__sum"]
return data
2021-08-22 20:10:29 +02:00
2021-08-29 22:09:22 +02:00
# class LootDetailView(generic.DetailView):
# template_name = "common/loot_detail.html"
# model = Loot
2021-08-22 20:10:29 +02:00
class LootCreateView(generic.CreateView):
2021-10-15 21:47:49 +02:00
template_name = "loot/edit.jinja"
2021-08-22 20:10:29 +02:00
model = Loot
form_class = LootForm
2021-08-29 00:20:02 +02:00
success_url = reverse_lazy("lootlist")
2021-08-22 20:10:29 +02:00
2022-11-19 17:40:46 +01:00
class LootEditView(JSONResponseMixin, generic.UpdateView):
2021-10-15 21:47:49 +02:00
template_name = "loot/edit.jinja"
2021-08-22 20:10:29 +02:00
model = Loot
form_class = LootForm
context_object_name = "object"
2021-08-29 00:20:02 +02:00
success_url = reverse_lazy("lootlist")
2021-08-28 19:52:07 +02:00
2021-08-22 20:10:29 +02:00
def get_context_data(self, **kwargs):
data = super().get_context_data(**kwargs)
data['edit'] = True
return data
class LootDeleteView(generic.DeleteView):
2021-10-15 21:47:49 +02:00
template_name = "common/confirm_delete.jinja"
2021-08-22 20:10:29 +02:00
model = Loot
2021-08-29 00:20:02 +02:00
success_url = reverse_lazy("lootlist")