Esempio n. 1
0
def student_missing_information_mail(sender, instance, name, source, target, **kwargs):
    if target == StudentProfileState.MISSING_INFORMATION and not is_duplicate_transition(name, instance):
        with translation.override(instance.get_preferred_language()):
            send_templated_mail(
                subject=_("Your profile at Motius is incomplete"),
                html_template='email/student/student_missing_information.html',
                recipient_list=[instance.user.email],
                context={'profile': instance, 'user': instance.user}
            )
Esempio n. 2
0
def student_rejected_mail(sender, instance, name, source, target, **kwargs):
    if target == StudentProfileState.REJECTED and not is_duplicate_transition(name, instance):
        with translation.override(instance.get_preferred_language()):
            send_templated_mail(
                subject=_("About your registration at Motius"),
                html_template='email/student/student_rejected.html',
                recipient_list=[instance.user.email],
                context={'profile': instance, 'user': instance.user}
            )
            action.send(instance, verb='was rejected')
Esempio n. 3
0
def generate_invoice_pdf(sender, instance, name, source, target, **kwargs):
    if target == InvoiceStatus.OPEN and not is_duplicate_transition(name, instance):
        with tempfile.NamedTemporaryFile() as fh:
            motius_pdf.from_url(
                settings.SITE_URL + reverse('payment_invoice_html', args=[instance.pk]),
                fh.name,
            )
            instance.pdf = File(fh)
            instance.save()
        action.send(instance, verb='new invoice generated for', target=instance.recipient)
Esempio n. 4
0
def send_invoice(sender, instance, name, source, target, **kwargs):
    if name == "state_sent" and not is_duplicate_transition(name, instance):
        if isinstance(instance.recipient, StudentProfile) and instance.pdf:
            with translation.override(instance.recipient.get_preferred_language()):
                mail = send_templated_mail(
                    subject=_("New invoice %(id)s") % {'id': instance.public_id},
                    html_template='email/student/new_invoice_notification.html',
                    recipient_list=[instance.recipient.user.email],
                    context={'invoice': instance, 'user': instance.recipient.user},
                    skip_sending=True
                )
                mail.attach("%s.pdf" % instance.public_id, instance.pdf.read())
                mail.send()
Esempio n. 5
0
def student_accepted_mail(sender, instance, name, source, target, **kwargs):
    if target == StudentProfileState.ACCEPTED and not is_duplicate_transition(name, instance):
        with translation.override(instance.get_preferred_language()):
            mail = send_templated_mail(
                subject=_("We've accepted you for Motius"),
                html_template='email/student/student_accepted.html',
                recipient_list=[instance.user.email],
                context={'profile': instance, 'user': instance.user},
                skip_sending=True,
            )

            # Attach student guide to email
            student_guide = finders.find('pdf/student_guide_%s.pdf' % instance.get_preferred_language())
            with open(student_guide, 'rb') as f:
                mail.attach(_('motius_student_guide.pdf'), f.read())
            mail.send()
            action.send(instance, verb='was accepted into the pool')