From efcc50c5ecff2b62b80f0621752e2098014f9b08 Mon Sep 17 00:00:00 2001 From: luxagraf Date: Mon, 24 Jul 2023 13:31:20 -0500 Subject: notes: split notes off into its own app --- app/notes/views.py | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 app/notes/views.py (limited to 'app/notes/views.py') diff --git a/app/notes/views.py b/app/notes/views.py new file mode 100644 index 0000000..70f20c6 --- /dev/null +++ b/app/notes/views.py @@ -0,0 +1,46 @@ +from django.views.generic import UpdateView, DetailView, ListView +from django.views.generic.edit import CreateView, DeleteView, UpdateView +from django.utils.decorators import method_decorator +from django.contrib.auth.decorators import login_required +from django.urls import reverse + +from .models import Note +from .forms import NoteCreateForm + + +class NoteCreateView(CreateView): + model = Note + form_class = NoteCreateForm + + def get_form_kwargs(self): + kwargs = super(NoteCreateView, self).get_form_kwargs() + kwargs.update({'user': self.request.user}) + return kwargs + + def get_success_url(self): + return reverse('posts:detail', kwargs={"pk": self.object.post.pk}) + + +class NoteUpdateView(UpdateView): + model = Note + fields = ['title', 'url', 'body_markdown', 'post', 'status', 'user'] + + def get_context_data(self, **kwargs): + context = super(NoteUpdateView, self).get_context_data(**kwargs) + context['is_update'] = True + return context + + def get_success_url(self): + return reverse('posts:detail', kwargs={"pk": self.object.post.pk}) + + +class NoteListView(ListView): + model = Note + + def get_queryset(self): + if self.kwargs['status'] == "todo": + status = "Call In" + else: + status = self.kwargs['status'] + status_reverse = dict((v, k) for k, v in Note.STATUS) + return Note.objects.filter(user=self.request.user).filter(status=status_reverse[status]) -- cgit v1.2.3-70-g09d2