Code reference › domain › mail

module

pretalx.mail.domain.queries

Functions 4

draft_mail_counts(event)sourceDict of {"pending_count": …, "failed_count": …}.
def draft_mail_counts(event):
    """Dict of {"pending_count": …, "failed_count": …}."""
    return event.queued_mails.filter(state=QueuedMailStates.DRAFT).aggregate(
        pending_count=Count("pk"),
        failed_count=Count("pk", filter=Q(error_data__isnull=False)),
    )
outbox_mails(event)source
def outbox_mails(event):
    return (
        _list_base_queryset(event)
        .filter(state=QueuedMailStates.DRAFT)
        .with_computed_state()
        .order_by("-id")
    )
search_mails(qs, query, fulltext=False, context=None)source
def search_mails(qs, query, fulltext=False, context=None):
    return qs.filter(
        Q(to__icontains=query)
        | Q(subject__icontains=query)
        | speaker_search_q(query, prefix="to_speakers__")
    ).distinct()
sent_mails(event)source
def sent_mails(event):
    return (
        _list_base_queryset(event)
        .filter(state__in=[QueuedMailStates.SENT, QueuedMailStates.SENDING])
        .with_computed_state()
        .order_by("-sent", "-pk")
    )