fix transport filtering

This commit is contained in:
Élie Bouttier 2016-09-18 18:50:27 +02:00
parent 802e1a36a3
commit 42d00191fd
1 changed files with 3 additions and 2 deletions

View File

@ -238,14 +238,15 @@ def talk_decide(request, talk, accepted):
def speaker_list(request):
show_filters = False
site = get_current_site(request)
speakers = Participation.objects.filter(user__talk__in=Talk.objects.filter(site=site)).all().distinct()
talks = Talk.objects.filter(site=site)
speakers = Participation.objects.filter(user__talk__in=talks).all().distinct()
filter_form = SpeakerFilterForm(request.GET or None)
# Filtering
if filter_form.is_valid():
data = filter_form.cleaned_data
if len(data['transport']):
show_filters = True
speakers = speakers.filter(reduce(lambda x, y: x | y, [Q(transport__pk=pk) for pk in data['transport']]))
speakers = speakers.filter(need_transport=True).filter(reduce(lambda x, y: x | y, [Q(transport__pk=pk) for pk in data['transport']]))
if len(data['hosting']):
show_filters = True
queries = []