From 2ea88478ec5013a23f4a4c2fed405dc602f0e5eb Mon Sep 17 00:00:00 2001 From: PlexSheep Date: Sat, 7 Oct 2023 15:52:48 +0200 Subject: [PATCH] keep filter data --- gawa/blog/templates/blog/browse.html | 28 ++++++++++++++++++++-------- gawa/blog/views.py | 24 ++++++++++++++++++++++++ 2 files changed, 44 insertions(+), 8 deletions(-) diff --git a/gawa/blog/templates/blog/browse.html b/gawa/blog/templates/blog/browse.html index ad78f84..bda52d8 100644 --- a/gawa/blog/templates/blog/browse.html +++ b/gawa/blog/templates/blog/browse.html @@ -19,7 +19,7 @@
+ style="display: inline-block">

Browse

{# center headline on small screens #} @@ -40,25 +40,37 @@ aria-label="Search" placeholder="{% trans "Search" %}" required="" + {% if filters.search %}value="{{ filters.search }}"{% endif %} id="id_search">
- +
+ + +
diff --git a/gawa/blog/views.py b/gawa/blog/views.py index 5a03e83..4c492ac 100644 --- a/gawa/blog/views.py +++ b/gawa/blog/views.py @@ -80,10 +80,34 @@ class Browse(ListView): # Q(body_de__icontains=search) | Q(slug__icontains=search) ) + + if "keywords" in self.request.GET and len( + self.request.GET["keywords"].strip()) > 0: + pass return objects def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) context['featured_posts'] = BlogPost.objects.filter(featured=True) context['categories'] = Category.objects.all() + + context["filters"] = {} + if "category" in self.request.GET and len( + self.request.GET["category"].strip()) > 0: + category = self.request.GET["category"] + try: + category = Category.objects.get(slug=category) + context["filters"]["category"] = category + except Category.DoesNotExist: + context["filters"]["category"] = None + + if "search" in self.request.GET and len( + self.request.GET["search"].strip()) > 0: + search = self.request.GET["search"] + context["filters"]["search"] = search + + if "keywords" in self.request.GET and len( + self.request.GET["keywords"].strip()) > 0: + keywords = self.request.GET["keywords"] + context["filters"]["keywords"] = keywords return context