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

54 lines
1.5 KiB
Python
Raw Normal View History

2021-08-22 20:10:29 +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 characters.forms import CharacterForm
from characters.models import Character
2021-08-22 20:10:29 +02:00
def list_character_redirect(request, *args, **kwargs):
2021-08-29 00:20:02 +02:00
first_character: Character = Character.objects.first()
if not first_character:
return redirect("characteradd")
2021-08-22 20:10:29 +02:00
return redirect(first_character)
class CharacterDetailView(generic.DetailView):
2021-10-15 20:10:50 +02:00
template_name = "characters/detail.jinja"
2021-08-22 20:10:29 +02:00
model = Character
context_object_name = "character"
def get_context_data(self, **kwargs):
data = super().get_context_data(**kwargs)
data["player_characters"] = Character.objects.filter(
player__isnull=False
2021-08-28 19:52:07 +02:00
).select_related()
data["npcs"] = Character.objects.filter(
2021-08-29 00:20:02 +02:00
player__isnull=True
2021-08-28 19:52:07 +02:00
).select_related()
2021-08-22 20:10:29 +02:00
return data
class CharacterCreateView(generic.CreateView):
2021-08-29 22:09:22 +02:00
template_name = "loot/edit.html"
2021-08-22 20:10:29 +02:00
model = Character
form_class = CharacterForm
context_object_name = "object"
2021-09-07 15:03:26 +02:00
class CharacterEditView(generic.UpdateView):
2021-08-29 22:09:22 +02:00
template_name = "loot/edit.html"
2021-08-22 20:10:29 +02:00
model = Character
form_class = CharacterForm
def get_context_data(self, **kwargs):
data = super().get_context_data(**kwargs)
data['edit'] = True
return data
class CharacterDeleteView(generic.DeleteView):
template_name = "common/confirm_delete.html"
2021-08-22 20:10:29 +02:00
model = Character
success_url = reverse_lazy('characterlist')