def send_orga_mail(self, text, stats=False): from django.utils.translation import override from pretalx.common.mail import mail_send_task from pretalx.mail.models import QueuedMail context = { 'event_dashboard': self.orga_urls.base.full(), 'event_review': self.orga_urls.reviews.full(), 'event_schedule': self.orga_urls.schedule.full(), 'event_submissions': self.orga_urls.submissions.full(), 'event_team': self.orga_urls.team_settings.full(), 'submission_count': self.submissions.all().count(), } if stats: context.update({ 'talk_count': self.current_schedule.talks.filter(is_visible=True).count(), 'review_count': self.reviews.count(), 'schedule_count': self.schedules.count() - 1, 'mail_count': self.queued_mails.filter(sent__isnull=False).count(), }) with override(self.locale): text = QueuedMail.make_text(str(text).format(**context), event=self) mail_send_task.apply_async( kwargs={ 'to': [self.email], 'subject': QueuedMail.make_subject(_('News from your content system'), event=self), 'body': text, 'html': QueuedMail.make_html(text, event=self), })
def test_mail_make_text(event, text, signature, expected): if signature: event.settings.mail_signature = signature assert QueuedMail.make_text(text, event) == expected