Skip to content
Snippets Groups Projects
Commit 590ff2b6 authored by Nadja Geisler's avatar Nadja Geisler :sunny:
Browse files

adapt AK list filters

remove tags list
add tracks list
filter categories list by event
allow ak list filtering by track
parent 16458208
No related branches found
No related tags found
Loading
......@@ -26,14 +26,17 @@
{% block content %}
<h1>{{ event.name }}: {% trans "AK List" %}</h1>
<b>{% trans 'Categories' %}:</b>
{% category_list categories event.slug %}
{% if categories.count > 0 %}
<b>{% trans 'Categories' %}:</b>
{% category_list categories event.slug %}
{% endif %}
<br><br>
<b>{% trans 'Tags' %}:</b>
{% tag_list tags.all event.slug %}
{% if tracks.count > 0 %}
<b>{% trans 'Tracks' %}:</b>
{% track_list tracks event.slug %}
{% endif %}
<br><br>
......
{% for track in tracks.all %}
<a href="{% url 'submit:ak_list_by_track' event_slug=event_slug track_pk=track.pk %}"><span
class="badge badge-info">{{ track }}</span></a>
{% endfor %}
......@@ -16,6 +16,11 @@ def tag_list(tags, event_slug):
return {"tags": tags, "event_slug": event_slug}
@register.inclusion_tag("AKSubmission/tracks_list.html")
def track_list(tracks, event_slug):
return {"tracks": tracks, "event_slug": event_slug}
@register.inclusion_tag("AKSubmission/category_list.html")
def category_list(categories, event_slug):
return {"categories": categories, "event_slug": event_slug}
......
......@@ -18,6 +18,7 @@ urlpatterns = [
path('aks/', views.AKListView.as_view(), name='ak_list'),
path('aks/category/<int:category_pk>/', views.AKListByCategoryView.as_view(), name='ak_list_by_category'),
path('aks/tag/<int:tag_pk>/', views.AKListByTagView.as_view(), name='ak_list_by_tag'),
path('aks/track/<int:track_pk>/', views.AKListByTrackView.as_view(), name='ak_list_by_track'),
path('owner/', views.AKOwnerCreateView.as_view(), name='akowner_create'),
path('new/', views.AKOwnerSelectDispatchView.as_view(), name='akowner_select'),
path('owner/edit/', views.AKOwnerEditDispatchView.as_view(), name='akowner_edit_dispatch'),
......
......@@ -7,7 +7,7 @@ from django.utils.translation import gettext_lazy as _
from django.views import View
from django.views.generic import ListView, DetailView, CreateView, UpdateView, DeleteView, RedirectView
from AKModel.models import AK, AKCategory, AKTag, AKOwner, AKSlot
from AKModel.models import AK, AKCategory, AKTag, AKOwner, AKSlot, AKTrack
from AKModel.views import EventSlugMixin
from AKModel.views import FilterByEventSlugMixin
from AKSubmission.forms import AKWishForm, AKOwnerForm, AKEditForm, AKSubmissionForm, AKDurationForm
......@@ -62,9 +62,9 @@ class AKListView(FilterByEventSlugMixin, ListView):
def get_context_data(self, *, object_list=None, **kwargs):
context = super().get_context_data(object_list=object_list, **kwargs)
context['categories'] = AKCategory.objects.all()
context["tags"] = AKTag.objects.all()
context["filter_condition_string"] = self.filter_condition_string
context['categories'] = AKCategory.objects.filter(event=self.event)
context['tracks'] = AKTrack.objects.filter(event=self.event)
context['filter_condition_string'] = self.filter_condition_string
return context
......@@ -85,7 +85,7 @@ class AKListByTagView(AKListView):
tag = None
def get_queryset(self):
# Find category based on event slug
# Find tag based on event slug
try:
self.tag = AKTag.objects.get(pk=self.kwargs['tag_pk'])
self.filter_condition_string = f"{_('Tag')} = {self.tag.name}"
......@@ -94,6 +94,19 @@ class AKListByTagView(AKListView):
return super().get_queryset().filter(tags=self.tag)
class AKListByTrackView(AKListView):
track = None
def get_queryset(self):
# Find track based on event slug
try:
self.track = AKTrack.objects.get(pk=self.kwargs['track_pk'])
self.filter_condition_string = f"{_('Track')} = {self.track.name}"
except AKTrack.DoesNotExist:
raise Http404
return super().get_queryset().filter(track=self.track)
class AKAndAKWishSubmissionView(EventSlugMixin, CreateView):
model = AK
template_name = 'AKSubmission/submit_new.html'
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment