X-Git-Url: https://git.p6c8.net/pcdenotes.git/blobdiff_plain/96213c617d77f89ec12e8e6349b60dd6c5bbef1d..5d623b6f60e9dc66320a13c8956271abdecd727e:/notes/views.py diff --git a/notes/views.py b/notes/views.py index 18946bf..62a51e8 100644 --- a/notes/views.py +++ b/notes/views.py @@ -1,6 +1,6 @@ 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 @@ -10,7 +10,7 @@ from .models import Note def note_list(request): notes = Note.objects.all() if request.user.is_staff else Note.objects.filter(status=1) - notes_count = Note.objects.filter(status=1).count() + notes_count = notes.count() paginator = Paginator(notes, NOTES_PER_PAGE) page_number = 1 @@ -34,11 +34,13 @@ def note_detail(request, note_slug): return render(request, 'note_detail.html', {'note': note}) def archive_main(request): - notes_years = Note.objects.all().annotate(created_year=ExtractYear('created_at')).values_list('created_year', flat=True).distinct().order_by('created_year') + notes_years = Note.objects.years_with_total() 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.months_with_total(archive_year) + 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 + notes = Note.objects.per_month(archive_year, archive_month) + return render(request, 'archive_month.html', {'year': archive_year, 'month': archive_month, 'notes': notes}) \ No newline at end of file