2021-10-03 16:09:59 +02:00
|
|
|
# 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
|
2022-06-19 16:03:59 +02:00
|
|
|
from utils.views import JSONResponseMixin
|
2021-10-03 16:09:59 +02:00
|
|
|
|
|
|
|
|
|
|
|
def list_note_redirect(request, *args, **kwargs):
|
|
|
|
first_note: Note = Note.objects.first()
|
|
|
|
if not first_note:
|
|
|
|
return redirect("noteadd")
|
|
|
|
return redirect(first_note)
|
|
|
|
|
|
|
|
|
2022-06-19 16:03:59 +02:00
|
|
|
class NoteDetailView(JSONResponseMixin, generic.DetailView):
|
2021-10-15 21:47:49 +02:00
|
|
|
template_name = "notes/detail.jinja"
|
2021-10-03 16:09:59 +02:00
|
|
|
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):
|
2021-10-15 21:47:49 +02:00
|
|
|
template_name = "loot/edit.jinja"
|
2021-10-03 16:09:59 +02:00
|
|
|
model = Note
|
|
|
|
form_class = NoteForm
|
|
|
|
context_object_name = "object"
|
|
|
|
|
|
|
|
|
|
|
|
class NoteEditView(generic.UpdateView):
|
2021-10-15 21:47:49 +02:00
|
|
|
template_name = "loot/edit.jinja"
|
2021-10-03 16:09:59 +02:00
|
|
|
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):
|
2021-10-15 21:47:49 +02:00
|
|
|
template_name = "common/confirm_delete.jinja"
|
2021-10-03 16:09:59 +02:00
|
|
|
model = Note
|
|
|
|
success_url = reverse_lazy('notelist')
|