Files
JooL_website/apps/careers/signals.py
2026-05-12 16:54:38 +00:00

48 lines
1.4 KiB
Python

from django.conf import settings
from django.core.mail import send_mail
from django.db.models.signals import post_save
from django.dispatch import receiver
from django.template.loader import render_to_string
from .models import JobApplication
@receiver(post_save, sender=JobApplication)
def on_application_created(sender, instance, created, **kwargs):
if not created:
return
# Email to applicant
subject_applicant = render_to_string(
'careers/emails/application_received_subject.txt',
{'application': instance}
).strip()
body_applicant = render_to_string(
'careers/emails/application_received_body.txt',
{'application': instance}
)
send_mail(
subject=subject_applicant,
message=body_applicant,
from_email=settings.DEFAULT_FROM_EMAIL,
recipient_list=[instance.email],
fail_silently=True,
)
# Email to HR
subject_hr = render_to_string(
'careers/emails/new_application_admin_subject.txt',
{'application': instance}
).strip()
body_hr = render_to_string(
'careers/emails/new_application_admin_body.txt',
{'application': instance}
)
send_mail(
subject=subject_hr,
message=body_hr,
from_email=settings.DEFAULT_FROM_EMAIL,
recipient_list=[settings.CAREERS_NOTIFY_EMAIL],
fail_silently=True,
)