diff --git a/pycon_project/apps/symposion/speakers/views.py b/pycon_project/apps/symposion/speakers/views.py index 07b5d770..fe9484da 100644 --- a/pycon_project/apps/symposion/speakers/views.py +++ b/pycon_project/apps/symposion/speakers/views.py @@ -1,7 +1,7 @@ from django.conf import settings from django.core.exceptions import ObjectDoesNotExist from django.db.models import Q -from django.http import Http404, HttpResponse +from django.http import Http404 from django.shortcuts import render_to_response, redirect, get_object_or_404 from django.template import RequestContext @@ -11,6 +11,7 @@ from pinax.apps.account.forms import LoginForm from symposion.proposals.models import Proposal +from symposion.schedule.models import Presentation from symposion.speakers.forms import SpeakerForm, SignupForm from symposion.speakers.models import Speaker @@ -181,7 +182,9 @@ def speaker_profile(request, pk, template_name="speakers/speaker_profile.html", # schedule may not be installed so we need to check for sessions if hasattr(speaker, "sessions"): - sessions = speaker.sessions.exclude(slot=None).order_by("slot__start") + sessions = Presentation.objects.filter( + Q(speaker=speaker)|Q(additional_speakers=speaker) + ).exclude(slot=None).distinct().order_by("slot__start") else: sessions = [] diff --git a/pycon_project/templates/schedule/_grid_draft.html b/pycon_project/templates/schedule/_grid_draft.html index 53f47f16..720349f0 100644 --- a/pycon_project/templates/schedule/_grid_draft.html +++ b/pycon_project/templates/schedule/_grid_draft.html @@ -37,9 +37,12 @@ {% if slot.content %}
- {% if slot.content.speaker %} -