1
0
Fork 0
mirror of https://github.com/Findus23/RPGnotes.git synced 2024-09-19 15:43:45 +02:00
RPGnotes/notes/views.py
2022-06-19 16:03:59 +02:00

50 lines
1.3 KiB
Python

# Create your views here.
from django.shortcuts import redirect
from django.urls import reverse_lazy
from django.views import generic
from notes.forms import NoteForm
from notes.models import Note
from utils.views import JSONResponseMixin
def list_note_redirect(request, *args, **kwargs):
first_note: Note = Note.objects.first()
if not first_note:
return redirect("noteadd")
return redirect(first_note)
class NoteDetailView(JSONResponseMixin, generic.DetailView):
template_name = "notes/detail.jinja"
model = Note
context_object_name = "note"
def get_context_data(self, **kwargs):
data = super().get_context_data(**kwargs)
data["roots"] = Note.objects.with_tree_fields()
return data
class NoteCreateView(generic.CreateView):
template_name = "loot/edit.jinja"
model = Note
form_class = NoteForm
context_object_name = "object"
class NoteEditView(generic.UpdateView):
template_name = "loot/edit.jinja"
model = Note
form_class = NoteForm
def get_context_data(self, **kwargs):
data = super().get_context_data(**kwargs)
data['edit'] = True
return data
class NoteDeleteView(generic.DeleteView):
template_name = "common/confirm_delete.jinja"
model = Note
success_url = reverse_lazy('notelist')