]> git.p6c8.net - pcdenotes.git/commitdiff
When an admin is logged on, display drafts
authorPatrick Canterino <patrick@patrick-canterino.de>
Fri, 28 Jan 2022 19:50:09 +0000 (20:50 +0100)
committerPatrick Canterino <patrick@patrick-canterino.de>
Fri, 28 Jan 2022 20:33:38 +0000 (21:33 +0100)
notes/models.py
notes/templates/note.html
notes/views.py

index e4802217c3f4fb49853ad6aae494390eb04df19f..ed86192e13d9e860afc436bb11b6af91efeb98bd 100644 (file)
@@ -27,3 +27,8 @@ class Note(models.Model):
         return reverse("notes:note_detail", kwargs={"note_slug": self.slug})
         #return "/notes/%s" % (self.slug)
 
+    def is_draft(self):
+        return self.status == 0
+
+    def is_published(self):
+        return self.status == 1
index 0dbba5404ef4218717e95b117337e33138343113..1bce423ef15d6b804ae66349278f32ef53a2c0b4 100644 (file)
@@ -1,6 +1,7 @@
 {% load markdownify %}
-<article class="container mt-5">
-    <h2><a href="{{ note.get_absolute_url }}" class="link-dark">{{ note.title }}</a></h2>
+<article class="container mt-5{% if note.is_draft %} text-muted{% endif %}">
+    <h2><a href="{{ note.get_absolute_url }}" class="{% if note.is_draft %}text-muted{% else %}link-dark{% endif %}">{{ note.title }}</a></h2>
+    {% if note.is_draft %}<p class="fw-bold">Status: Draft</p>{% endif %}
     <div class="mt-3">{{ note.content|linebreaksbr|markdownify }}</div>
     <p class="fst-italic" style="font-size: smaller;">Published on {{ note.created_at|date:"Y-m-d, H:i" }}</p>
 </article>
\ No newline at end of file
index 793f9ed49649edfa89ddb36ee1d8a72d143e73a2..f41a99d296883fc62691782dbfdfc15ce11dfdad 100644 (file)
@@ -7,7 +7,8 @@ from .models import Note
 # Create your views here.
 
 def note_list(request):
-    notes = Note.objects.filter(status=1)
+    notes = Note.objects.all() if request.user.is_staff else Note.objects.filter(status=1)
+
     notes_count = Note.objects.filter(status=1).count()
     paginator = Paginator(notes, NOTES_PER_PAGE)
 
@@ -25,5 +26,5 @@ def note_list(request):
     return render(request, 'note_list.html', {'notes_page': notes_page, 'notes_count': notes_count, 'pages': paginator, 'page_number': page_number, 'page_count': page_count})
 
 def note_detail(request, note_slug):
-    note = get_object_or_404(Note, slug=note_slug, status=1)
+    note = get_object_or_404(Note, slug=note_slug) if request.user.is_staff else get_object_or_404(Note, slug=note_slug, status=1)
     return render(request, 'note_detail.html', {'note': note})
\ No newline at end of file

patrick-canterino.de