Code reference › domain › submission

module

pretalx.submission.domain.queries.speaker

Functions 1

speakers_for_user(event, user, submissions=None, prefetch_submissions=False, include_bare=False)sourceSpeaker profiles for event that user is allowed to see.
def speakers_for_user(
    event, user, submissions=None, prefetch_submissions=False, include_bare=False
):
    """Speaker profiles for event that user is allowed to see."""
    submissions = (
        submissions if submissions is not None else submissions_for_user(event, user)
    )
    visibility = Q(submissions__in=submissions)
    if include_bare:
        visibility |= ~Q(origin=SpeakerProfileOrigin.CFP)
    queryset = (
        SpeakerProfile.objects.filter(visibility, event=event)
        .select_related("event", "user", "profile_picture", "user__profile_picture")
        .distinct()
        .order_by("code", "pk")
    )
    if prefetch_submissions:
        queryset = queryset.prefetch_related(
            Prefetch("submissions", queryset=submissions.order_by("code"))
        )
    return queryset