48 lines
1.4 KiB
Python
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,
|
|
)
|