예제 #1
0
    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),
            })
예제 #2
0
def test_mail_make_subject(event, text, prefix, expected):
    if prefix:
        event.settings.mail_subject_prefix = prefix
    assert QueuedMail.make_subject(text, event) == expected