def save(self, *args, **kwargs): self.clean() scheduled_date = self.cleaned_data['scheduled_date'] or datetime.utcnow().date() scheduled_time = self.cleaned_data['scheduled_time'] or datetime.utcnow().time() scheduled_datetime = datetime.combine(scheduled_date, scheduled_time) if not (self.cleaned_data['scheduled_date'] and self.cleaned_data['scheduled_time']): scheduled_datetime += timedelta(minutes=5) created_email = Email( source=get_admin_source(), send_to=self.cleaned_data['to_entity'], subentity_type=self.cleaned_data['subentity_type'], subject=self.cleaned_data['subject'], from_address=self.cleaned_data['from_email'], template=get_admin_template(), context={'html': self.cleaned_data['body']}, scheduled=scheduled_datetime ) created_email.save() return created_email
def save(self, *args, **kwargs): self.clean() scheduled_date = self.cleaned_data['scheduled_date'] or datetime.utcnow().date() scheduled_time = self.cleaned_data['scheduled_time'] or datetime.utcnow().time() scheduled_datetime = datetime.combine(scheduled_date, scheduled_time) if not (self.cleaned_data['scheduled_date'] and self.cleaned_data['scheduled_time']): scheduled_datetime += timedelta(minutes=5) created_emails = [] for entity in self.cleaned_data['to_entities']: created_email = Email( source=get_admin_source(), send_to=entity, subentity_type=None, subject=self.cleaned_data['subject'], from_address=self.cleaned_data['from_email'], template=get_admin_template(), context={'html': self.cleaned_data['body']}, scheduled=scheduled_datetime, ) created_emails.append(created_email) final_email = created_emails.pop() Email.objects.bulk_create(created_emails) return final_email
def get_queryset(self, request): qs = super(IndividualEmailAdmin, self).get_queryset(request) return qs.filter(template=get_admin_template())
def test_get_admin_template_configured(self): custom_admin_template_name = 'test-template' G(EmailTemplate, template_name=custom_admin_template_name, html_template='<html>hi</html>') with self.settings(ENTITY_EMAILER_ADMIN_TEMPLATE_NAME=custom_admin_template_name): admin_template = get_admin_template() self.assertEqual(admin_template.template_name, custom_admin_template_name)
def test_get_admin_template_default(self): admin_template_default_name = 'html_safe' G(EmailTemplate, template_name=admin_template_default_name, html_template='<html>hi</html>') admin_template = get_admin_template() self.assertEqual(admin_template.template_name, admin_template_default_name)