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")
)