]> git.p6c8.net - pcdenotes.git/commitdiff
Now we can list the months in archive
authorPatrick Canterino <patrick@patrick-canterino.de>
Sun, 30 Jan 2022 13:55:49 +0000 (14:55 +0100)
committerPatrick Canterino <patrick@patrick-canterino.de>
Sun, 30 Jan 2022 13:55:49 +0000 (14:55 +0100)
notes/templates/archive_year.html
notes/views.py

index ec643289ad661858a5f06c83269d1b849b72e81e..826086acd3891125a2ce91f7e33c6b5a0dbf2212 100644 (file)
@@ -5,5 +5,13 @@
 {% block content %}
 <h2>Archive {{ year }}</h2>
 
 {% block content %}
 <h2>Archive {{ year }}</h2>
 
-
+{% if months %}
+<ul>
+  {% for month in months %}
+    <li><a href="{{ month }}/">{{ month }}</a></li>
+  {% endfor %}
+</ul>
+{% else %}
+<p>No notes</p>
+{% endif %}
 {% endblock %}
\ No newline at end of file
 {% endblock %}
\ No newline at end of file
index 2c6eb5296f556c7d086acbb0853afa994495afa8..ef6414f80899ffecb582b2cd5bdc15bb6fb184d9 100644 (file)
@@ -1,6 +1,6 @@
 from django.shortcuts import render, get_object_or_404, redirect
 from django.core.paginator import Paginator
 from django.shortcuts import render, get_object_or_404, redirect
 from django.core.paginator import Paginator
-from django.db.models.functions import ExtractYear
+from django.db.models.functions import ExtractYear, ExtractMonth
 
 from pcdenotes.settings import NOTES_PER_PAGE
 from .models import Note
 
 from pcdenotes.settings import NOTES_PER_PAGE
 from .models import Note
@@ -38,7 +38,8 @@ def archive_main(request):
     return render(request, 'archive_main.html', {'years': notes_years})
 
 def archive_year(request, archive_year):
     return render(request, 'archive_main.html', {'years': notes_years})
 
 def archive_year(request, archive_year):
-    return render(request, 'archive_year.html', {'year': archive_year})
+    notes_months = Note.objects.filter(status=1, created_at__year=archive_year).annotate(created_month=ExtractMonth('created_at')).values_list('created_month', flat=True).distinct().order_by('created_month')
+    return render(request, 'archive_year.html', {'year': archive_year, 'months': notes_months})
 
 def archive_month(request, archive_year, archive_month):
     return render(request, 'archive_month.html', {'year': archive_year, 'month': archive_month})
\ No newline at end of file
 
 def archive_month(request, archive_year, archive_month):
     return render(request, 'archive_month.html', {'year': archive_year, 'month': archive_month})
\ No newline at end of file

patrick-canterino.de