add searching for posts by date
This commit is contained in:
@@ -2,6 +2,7 @@ import logging
|
||||
|
||||
from collections import deque
|
||||
from django.conf import settings
|
||||
from django.contrib import messages
|
||||
from django.http import HttpResponse, JsonResponse, HttpResponseServerError
|
||||
from django.shortcuts import render
|
||||
from django.template.loader import render_to_string
|
||||
@@ -13,6 +14,7 @@ from documents.api import get_pad_link
|
||||
from documents.etherpadlib import add_ep_cookie
|
||||
from members.models import Member, JobMember
|
||||
|
||||
from .forms import PostSearchForm
|
||||
from .models import Post, FetMeeting, FileUpload
|
||||
from .utils import render_to_pdf
|
||||
|
||||
@@ -26,13 +28,55 @@ logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
def index(request):
|
||||
"Index von aktuellen Posts"
|
||||
posts = deque(Post.objects.get_date_sorted_list())
|
||||
posts = None
|
||||
taglist = None
|
||||
|
||||
taglist = map(lambda post: post.tags, posts)
|
||||
compact_view = None
|
||||
fet_meeting_only = None
|
||||
|
||||
return render(request, "posts/index.html", {"posts": posts, "tags_list": taglist})
|
||||
if request.method == "POST":
|
||||
if "btn_input" in request.POST:
|
||||
form = PostSearchForm(request.POST)
|
||||
|
||||
if "compact_view" in request.POST.getlist("checkbox"):
|
||||
compact_view = True
|
||||
|
||||
if "fet_meeting_only" in request.POST.getlist("checkbox"):
|
||||
fet_meeting_only = True
|
||||
|
||||
if form.is_valid():
|
||||
month = form.cleaned_data["month"]
|
||||
year = form.cleaned_data["year"]
|
||||
|
||||
if month == "":
|
||||
month = None
|
||||
|
||||
if year == "":
|
||||
year = None
|
||||
|
||||
if not year and month:
|
||||
messages.info(
|
||||
request,
|
||||
"Es kann nicht nur nach einem Monat gesucht werden."
|
||||
)
|
||||
|
||||
posts = deque(Post.objects.get_date_filtered_list(year, month, fet_meeting_only))
|
||||
else:
|
||||
form = PostSearchForm()
|
||||
posts = deque(Post.objects.get_date_sorted_list())
|
||||
|
||||
if posts:
|
||||
taglist = map(lambda post: post.tags, posts)
|
||||
|
||||
context = {
|
||||
"formset": form,
|
||||
"compact_view": compact_view,
|
||||
"fet_meeting_only": fet_meeting_only,
|
||||
"posts": posts,
|
||||
"tags_list": taglist,
|
||||
}
|
||||
|
||||
return render(request, "posts/index.html", context)
|
||||
|
||||
def calendar(request):
|
||||
"Kalender Ansicht ICS zur Verknüpfung mit Outlook"
|
||||
|
||||
Reference in New Issue
Block a user