summaryrefslogtreecommitdiff
path: root/app/notes/views.py
diff options
context:
space:
mode:
Diffstat (limited to 'app/notes/views.py')
-rw-r--r--app/notes/views.py72
1 files changed, 72 insertions, 0 deletions
diff --git a/app/notes/views.py b/app/notes/views.py
new file mode 100644
index 0000000..53811d0
--- /dev/null
+++ b/app/notes/views.py
@@ -0,0 +1,72 @@
+from django.views.generic import UpdateView, DetailView, ListView, CreateView, DeleteView, RedirectView
+from django.views.generic.base import TemplateView
+from django.urls import reverse, reverse_lazy
+from django.db.models import Q
+from django.db.models import Count
+
+#from taxonomy.models import Category
+
+from .models import (
+ LuxNote,
+)
+
+from .forms import (
+ LuxNoteCreateForm,
+ LuxNoteEditForm,
+)
+
+
+class LuxNoteCreateView(CreateView):
+ model = LuxNote
+ form_class = LuxNoteCreateForm
+ template_name = "note_form.html"
+
+ def get_success_url(self):
+ if 'add_new' in self.request.POST:
+ return reverse('notes:note-create')
+ else:
+ return reverse('notes:note-create')
+
+
+class LuxNoteUpdateView(UpdateView):
+ model = LuxNote
+ form_class = LuxNoteEditForm
+ template_name = "note_form.html"
+
+ def get_context_data(self, **kwargs):
+ context = super(LuxNoteUpdateView, self).get_context_data(**kwargs)
+ context['is_update'] = True
+ return context
+
+ def get_success_url(self):
+ return reverse('notes:note-list')
+
+
+class LuxNoteListView(ListView):
+ model = LuxNote
+ template_name = "note_list.html"
+
+ def get_queryset(self):
+ tag = self.request.GET.get("tag", False)
+ if tag:
+ return LuxNote.objects.filter(tags__name__in=[tag])
+ return LuxNote.objects.all()
+
+ def get_context_data(self, **kwargs):
+ context = super(LuxNoteListView, self).get_context_data(**kwargs)
+ context['tags'] = LuxNote.tags.all().order_by('name')
+ context['current'] = self.request.GET.get("tag", False)
+ return context
+
+
+class LuxNoteDeleteView(DeleteView):
+ # specify the model you want to use
+ model = LuxNote
+ success_url = "/notes/"
+ template_name = "confirm_delete.html"
+
+
+class LuxNoteDetailView(DetailView):
+ model = LuxNote
+ template_name = "note_detail.html"
+