added attachment helper

This commit is contained in:
Oliver Zander 2025-10-17 17:31:51 +02:00
parent c751a9fc37
commit 7365218adb
3 changed files with 8 additions and 6 deletions

View File

@ -4,13 +4,12 @@ from django.template.loader import get_template
from input.models import Project from input.models import Project
from .attachments import collect_attachment_paths, attach_files from .attachments import collect_and_attach
__all__ = [ __all__ = [
'build_email', 'build_email',
'send_email', 'send_email',
'collect_attachment_paths', 'collect_and_attach',
'attach_files',
'send_applicant_decision_mail', 'send_applicant_decision_mail',
'send_staff_decision_mail', 'send_staff_decision_mail',
'send_decision_mails', 'send_decision_mails',

View File

@ -92,3 +92,7 @@ def attach_files(message: EmailMultiAlternatives, files: list[Path]):
with open(path, 'rb') as fp: with open(path, 'rb') as fp:
message.attach(path.name, fp.read(), mime_type) message.attach(path.name, fp.read(), mime_type)
def collect_and_attach(email: EmailMultiAlternatives, recipient: str, type_code: str):
return attach_files(email, collect_attachment_paths(recipient, type_code))

View File

@ -12,7 +12,7 @@ from django.views.generic import TemplateView
from django.views.generic.edit import FormView from django.views.generic.edit import FormView
from django.utils.html import strip_tags from django.utils.html import strip_tags
from input.utils.mail import collect_attachment_paths, attach_files, build_email from input.utils.mail import build_email, collect_and_attach
from .forms import ( from .forms import (
BaseApplicationForm, BaseApplicationForm,
@ -289,9 +289,8 @@ class ApplicationView(FormView):
def send_email(self, kind, template_name, subject, recipient, context, *, fail_silently=False): def send_email(self, kind, template_name, subject, recipient, context, *, fail_silently=False):
email = build_email(template_name, context, subject, recipient) email = build_email(template_name, context, subject, recipient)
applicant_files = collect_attachment_paths(kind, self.type_code)
attach_files(email, applicant_files) collect_and_attach(email, kind, self.type_code)
return email.send(fail_silently) return email.send(fail_silently)