summaryrefslogtreecommitdiff
path: root/app/posts
diff options
context:
space:
mode:
authorluxagraf <sng@luxagraf.net>2023-07-24 13:07:35 -0500
committerluxagraf <sng@luxagraf.net>2023-07-24 13:07:35 -0500
commit9b7ef91927a6133191878d0454e657a9d5e35083 (patch)
tree2668465adec096e32419435cf6731d128ca7531b /app/posts
parent484ce7f0d996500796617f61e158b6d27150dcff (diff)
posts: made a todo view so I can see what I need to call in
Diffstat (limited to 'app/posts')
-rw-r--r--app/posts/migrations/0013_note_user_alter_note_status.py26
-rw-r--r--app/posts/models.py1
-rw-r--r--app/posts/note_urls.py10
-rw-r--r--app/posts/templates/posts/note_list.html15
-rw-r--r--app/posts/views.py15
5 files changed, 66 insertions, 1 deletions
diff --git a/app/posts/migrations/0013_note_user_alter_note_status.py b/app/posts/migrations/0013_note_user_alter_note_status.py
new file mode 100644
index 0000000..7902f81
--- /dev/null
+++ b/app/posts/migrations/0013_note_user_alter_note_status.py
@@ -0,0 +1,26 @@
+# Generated by Django 4.2.2 on 2023-07-24 17:41
+
+from django.conf import settings
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ migrations.swappable_dependency(settings.AUTH_USER_MODEL),
+ ('posts', '0012_note_status'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='note',
+ name='user',
+ field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL),
+ ),
+ migrations.AlterField(
+ model_name='note',
+ name='status',
+ field=models.IntegerField(choices=[(0, 'Call In'), (1, 'Coming'), (2, 'Testing'), (3, 'Done'), (4, 'Live')], default=0),
+ ),
+ ]
diff --git a/app/posts/models.py b/app/posts/models.py
index d9a4236..a3cb3af 100644
--- a/app/posts/models.py
+++ b/app/posts/models.py
@@ -93,6 +93,7 @@ class Post(models.Model):
class Note(models.Model):
+ user = models.ForeignKey(settings.AUTH_USER_MODEL, null=True, on_delete=models.SET_NULL)
title = models.CharField(max_length=400)
url = models.CharField(max_length=400, blank=True, null=True)
body_markdown = models.TextField(blank=True, null=True)
diff --git a/app/posts/note_urls.py b/app/posts/note_urls.py
index 4bf6914..94a030e 100644
--- a/app/posts/note_urls.py
+++ b/app/posts/note_urls.py
@@ -7,10 +7,20 @@ app_name = "notes"
urlpatterns = [
path(
r'',
+ views.NoteListView.as_view(),
+ name="list"
+ ),
+ path(
+ r'create',
views.NoteCreateView.as_view(),
name="create"
),
path(
+ r'<str:status>',
+ views.NoteListView.as_view(),
+ name="todo"
+ ),
+ path(
r'<pk>/edit',
views.NoteUpdateView.as_view(),
name="edit"
diff --git a/app/posts/templates/posts/note_list.html b/app/posts/templates/posts/note_list.html
new file mode 100644
index 0000000..f1f585b
--- /dev/null
+++ b/app/posts/templates/posts/note_list.html
@@ -0,0 +1,15 @@
+{% extends 'base.html' %}
+{% block primary %}
+<main class="post-detail">
+ <div class="note-list">{% for object in object_list %}<article>
+ <h2>{%if object.url%}<a href="{{object.url}}">{{object.title}}</a>{%else%}{{object.title}}{%endif%}<span class="note-edit"><a href="{{object.get_absolute_url}}">edit</a></span></h2>
+ <p>For: <a href="/post/{{object.post.pk}}/notes">{{object.post}}</a></p>
+ <p>{{object.body_markdown}}</p>
+ </article>
+{% endfor%}</div>
+</main>
+
+
+{% endblock %}
+{% block js %}
+{% endblock%}
diff --git a/app/posts/views.py b/app/posts/views.py
index e1af9b5..6a5ff95 100644
--- a/app/posts/views.py
+++ b/app/posts/views.py
@@ -38,7 +38,7 @@ class NoteCreateView(CreateView):
class NoteUpdateView(UpdateView):
model = Note
- fields = ['title', 'url', 'body_markdown', 'post', 'status']
+ fields = ['title', 'url', 'body_markdown', 'post', 'status', 'user']
def get_context_data(self, **kwargs):
context = super(NoteUpdateView, self).get_context_data(**kwargs)
@@ -47,6 +47,19 @@ class NoteUpdateView(UpdateView):
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])
+
'''
class UpdateViewWithUser(UpdateView):