コード例 #1
0
def send_decline_email(to_address,
                       sanction_outcome,
                       workflow_entry,
                       request,
                       cc=None,
                       bcc=None):
    email = SendDeclineEmail()
    if request.data.get('email_subject'):
        email.subject = request.data.get('email_subject')
    url = request.build_absolute_uri(
        reverse('internal-sanction-outcome-detail',
                kwargs={'sanction_outcome_id': sanction_outcome.id}))
    context = {
        'url': url,
        'sanction_outcome': sanction_outcome,
        'workflow_entry_details': request.data.get('details'),
    }

    # Attach files (files from the modal, and the PDF file generated above)
    attachments = prepare_attachments(workflow_entry.documents)

    msg = email.send(
        to_address,
        context=context,
        attachments=attachments,
        cc=cc,
        bcc=bcc,
    )
    sender = request.user if request else settings.DEFAULT_FROM_EMAIL
    email_data = _extract_email_headers(msg, sender=sender)
    return email_data
コード例 #2
0
def send_infringement_notice(to_address,
                             sanction_outcome,
                             workflow_entry,
                             request,
                             cc=None,
                             bcc=None):
    email = InfringementNoticeEmail()
    if request.data.get('email_subject'):
        email.subject = request.data.get('email_subject')
    url = request.build_absolute_uri(reverse('external'))
    context = {
        'url': url,
        'sanction_outcome': sanction_outcome,
        'workflow_entry_details': request.data.get('details'),
    }

    attachments = create_infringement_notice_ybw(sanction_outcome,
                                                 workflow_entry)

    msg = email.send(
        to_address,
        context=context,
        attachments=attachments,
        cc=cc,
        bcc=bcc,
    )
    sender = request.user if request else settings.DEFAULT_FROM_EMAIL
    email_data = _extract_email_headers(msg, sender=sender)
    return email_data
コード例 #3
0
def send_remediation_action_submitted_notice(to_address,
                                             remediation_action,
                                             request,
                                             cc=None,
                                             bcc=None):
    email = RemediationActionSubmittedMail()
    if request.data.get('email_subject'):
        email.subject = request.data.get('email_subject')
    url = request.build_absolute_uri(
        reverse('internal-sanction-outcome-detail',
                kwargs={
                    'sanction_outcome_id':
                    remediation_action.sanction_outcome.id
                }))
    context = {
        'url': url,
        'remediation_action': remediation_action,
        'sanction_outcome': remediation_action.sanction_outcome,
    }

    # Attach files (files from the modal, and the PDF file generated above)
    attachments = prepare_attachments(remediation_action.documents)

    msg = email.send(
        to_address,
        context=context,
        attachments=attachments,
        cc=cc,
        bcc=bcc,
    )
    sender = request.user if request else settings.DEFAULT_FROM_EMAIL
    email_data = _extract_email_headers(msg, sender=sender)
    return email_data
コード例 #4
0
def send_remediation_notice_issued_on_paper(to_address,
                                            sanction_outcome,
                                            workflow_entry,
                                            request,
                                            cc=None,
                                            bcc=None):
    email = RemediationNoticeIssuedOnPaperEmail()
    if request.data.get('email_subject'):
        email.subject = request.data.get('email_subject')
    url = request.build_absolute_uri(reverse('external'))
    context = {
        'url': url,
        'sanction_outcome': sanction_outcome,
        'workflow_entry_details': request.data.get('details'),
    }

    # Attach files (files from the modal, and the PDF file generated above)
    attachments = prepare_attachments(workflow_entry.documents)

    msg = email.send(
        to_address,
        context=context,
        attachments=attachments,
        cc=cc,
        bcc=bcc,
    )
    sender = request.user if request else settings.DEFAULT_FROM_EMAIL
    email_data = _extract_email_headers(msg, sender=sender)
    return email_data
コード例 #5
0
def send_parking_infringement_without_offenders(to_address,
                                                sanction_outcome,
                                                workflow_entry,
                                                request,
                                                cc=None,
                                                bcc=None):
    email = SendToIncWithoutOffendersMail()
    if request.data.get('email_subject'):
        email.subject = request.data.get('email_subject')
    url = request.build_absolute_uri(
        reverse('internal-sanction-outcome-detail',
                kwargs={'sanction_outcome_id': sanction_outcome.id}))
    context = {
        'url': url,
        'sanction_outcome': sanction_outcome,
        'workflow_entry_details': request.data.get('details'),
    }
    msg = email.send(
        to_address,
        context=context,
        attachments=prepare_attachments(workflow_entry.documents),
        cc=cc,
        bcc=bcc,
    )
    sender = request.user if request else settings.DEFAULT_FROM_EMAIL
    email_data = _extract_email_headers(msg, sender=sender)
    return email_data
コード例 #6
0
def send_remediation_action_accepted_notice(to_address,
                                            remediation_action,
                                            request,
                                            cc=None,
                                            bcc=None):
    email = RemediationActionAcceptedMail()
    if request.data.get('email_subject'):
        email.subject = request.data.get('email_subject')
    url = request.build_absolute_uri(reverse('external'))
    context = {
        'url': url,
        'remediation_action': remediation_action,
        'action_taken': remediation_action.action_taken,
    }

    # Attach files (files from the modal, and the PDF file generated above)
    # attachments = prepare_attachments(remediation_action.documents)

    msg = email.send(
        to_address,
        context=context,
        attachments=[],
        cc=cc,
        bcc=bcc,
    )
    sender = request.user if request else settings.DEFAULT_FROM_EMAIL
    email_data = _extract_email_headers(msg, sender=sender)
    return email_data
コード例 #7
0
def send_mail(select_group,
              call_email,
              workflow_entry,
              request=None,
              email_type=None):
    if email_type == 'close':
        email = CallEmailCloseNotificationEmail()
    else:
        # default is CallEmail forward notification
        email = CallEmailForwardNotificationEmail()
    if request.data.get('email_subject'):
        email.subject = request.data.get('email_subject')
    url = request.build_absolute_uri(
        reverse('internal-call-email-detail',
                kwargs={'call_email_id': call_email.id}))
    context = {
        'url': url,
        'call_email': call_email,
        'workflow_entry_details': request.data.get('details'),
    }
    email_group = [item.email for item in select_group] if isinstance(
        select_group[0], EmailUser) else select_group
    msg = email.send(email_group,
                     context=context,
                     attachments=prepare_attachments(workflow_entry.documents))
    sender = request.user if request else settings.DEFAULT_FROM_EMAIL
    # email_data = _extract_email_headers(msg, call_email, sender=sender)
    email_data = _extract_email_headers(msg, sender=sender)
    return email_data
コード例 #8
0
def send_notification_close_to_due_remediation_action(to_address,
                                                      sanction_outcome,
                                                      workflow_entry,
                                                      cc=None,
                                                      bcc=None,
                                                      attachments=[]):
    email = NotificationCloseToDueRemediationAction()
    # if request.data.get('email_subject'):
    #     email.subject = request.data.get('email_subject')
    # url = request.build_absolute_uri(reverse('internal-sanction-outcome-detail', kwargs={ 'sanction_outcome_id': sanction_outcome.id }))
    context = {
        # 'url': url,
        'sanction_outcome':
        sanction_outcome,
        'workflow_entry_details':
        'This is notification mail for the remediation notice.  Due date is in one week.',
    }
    msg = email.send(to_address,
                     context=context,
                     attachments=attachments,
                     cc=cc,
                     bcc=bcc)
    sender = settings.DEFAULT_FROM_EMAIL
    email_data = _extract_email_headers(msg, sender=sender)

    return email_data
コード例 #9
0
def send_mail(select_group,
              inspection,
              workflow_entry,
              request=None,
              email_type=None):
    if email_type == 'send_to_manager':
        email = InspectionSendToManagerNotificationEmail()
    elif email_type == 'request_amendment':
        email = InspectionRequestAmendmentNotificationEmail()
    elif email_type == 'endorse':
        email = InspectionEndorseNotificationEmail()
    else:
        # default is Inspection forward notification
        email = InspectionForwardNotificationEmail()
    if request.data.get('email_subject'):
        email.subject = request.data.get('email_subject')
    url = request.build_absolute_uri(
        reverse('internal-inspection-detail',
                kwargs={'inspection_id': inspection.id}))
    context = {
        'url': url,
        'inspection': inspection,
        'workflow_entry_details': request.data.get('details'),
    }
    email_group = [item.email for item in select_group]
    msg = email.send(email_group,
                     context=context,
                     attachments=prepare_attachments(workflow_entry.documents))
    sender = request.user if request else settings.DEFAULT_FROM_EMAIL
    email_data = _extract_email_headers(msg, sender=sender)
    return email_data
コード例 #10
0
ファイル: email.py プロジェクト: dbca-wa/wildlifecompliance
def send_mail(select_group, offence, workflow_entry, request=None):
    email = OffenceIssueNotificationEmail()
    if request.data.get('email_subject'):
        email.subject = request.data.get('email_subject')
    url = request.build_absolute_uri(
        reverse('internal-offence-detail', kwargs={'offence_id': offence.id}))
    context = {
        'url': url,
        'offence': offence,
        'workflow_entry_details': request.data.get('details'),
    }
    email_group = [item.email for item in select_group]
    msg = email.send(email_group,
                     context=context,
                     attachments=prepare_attachments(workflow_entry.documents))
    sender = request.user if request else settings.DEFAULT_FROM_EMAIL
    email_data = _extract_email_headers(msg, sender=sender)
    return email_data
コード例 #11
0
def send_letter_of_advice(to_address,
                          sanction_outcome,
                          workflow_entry,
                          request,
                          cc=None,
                          bcc=None):
    email = LetterOfAdviceEmail()
    if request.data.get('email_subject'):
        email.subject = request.data.get('email_subject')
    url = request.build_absolute_uri(reverse('external'))
    context = {
        'url': url,
        'sanction_outcome': sanction_outcome,
        'workflow_entry_details': request.data.get('details'),
    }

    pdf_file_name = 'letter_of_advice_{}_{}.pdf'.format(
        sanction_outcome.lodgement_number,
        datetime.datetime.now().strftime("%Y%m%d%H%M%S"))
    document = create_letter_of_advice_pdf_bytes(pdf_file_name,
                                                 sanction_outcome)

    # Attach files (files from the modal, and the PDF file generated above)
    attachments = prepare_attachments(workflow_entry.documents)
    attachments.append(
        (pdf_file_name, document._file.read(), 'application/pdf'))

    # Attach the pdf file created above to the communication log entry
    doc = workflow_entry.documents.create(name=document.name)
    doc._file = document._file
    doc.save()

    msg = email.send(
        to_address,
        context=context,
        attachments=attachments,
        cc=cc,
        bcc=bcc,
    )
    sender = request.user if request else settings.DEFAULT_FROM_EMAIL
    email_data = _extract_email_headers(msg, sender=sender)
    return email_data
コード例 #12
0
def email_detais_to_department_of_transport(to_address,
                                            attachments,
                                            cc=None,
                                            bcc=None):
    email = SendDetailsToDotEmail()
    context = {
        # 'url': url,
        'workflow_entry_details': 'This is body for dot mail.',
    }
    msg = email.send(
        to_address,
        context=context,
        attachments=attachments,
        cc=cc,
        bcc=bcc,
    )
    sender = settings.DEFAULT_FROM_EMAIL
    email_data = _extract_email_headers(msg, sender=sender)

    return email_data
コード例 #13
0
def send_due_date_extended_mail(to_address,
                                sanction_outcome,
                                workflow_entry,
                                request,
                                cc=None,
                                bcc=None):
    email = InfringementNoticeDueDateExtendedEmail()
    if request.data.get('email_subject'):
        email.subject = request.data.get('email_subject')
    url = request.build_absolute_uri(
        reverse('internal-sanction-outcome-detail',
                kwargs={'sanction_outcome_id': sanction_outcome.id}))
    context = {
        'url': url,
        'sanction_outcome': sanction_outcome,
        'workflow_entry_details': request.data.get('details'),
    }
    # pdf_file_name = 'infringement_notice_{}_{}.pdf'.format(sanction_outcome.lodgement_number, datetime.datetime.now().strftime("%Y%m%d%H%M%S"))
    # document = create_infringement_notice_pdf_bytes(pdf_file_name, sanction_outcome)

    # Attach files (files from the modal, and the PDF file generated above)
    # attachments = prepare_attachments(workflow_entry.documents)
    # attachments.append((pdf_file_name, document._file.read(), 'application/pdf'))

    # Attach the pdf file created above to the communication log entry
    # doc = workflow_entry.documents.create(name=document.name)
    # doc._file = document._file
    # doc.save()

    attachments = create_infringement_notice_ybw(sanction_outcome,
                                                 workflow_entry)

    msg = email.send(to_address,
                     context=context,
                     attachments=attachments,
                     cc=cc,
                     bcc=bcc)
    sender = request.user if request else settings.DEFAULT_FROM_EMAIL
    email_data = _extract_email_headers(msg, sender=sender)

    return email_data
コード例 #14
0
def send_unpaid_infringements_file(to_address,
                                   cc=None,
                                   bcc=None,
                                   attachments=[]):
    email = UnpaidInfringementsFileMail()
    # if request.data.get('email_subject'):
    #     email.subject = request.data.get('email_subject')
    # url = request.build_absolute_uri(reverse('internal-sanction-outcome-detail', kwargs={ 'sanction_outcome_id': sanction_outcome.id }))
    context = {
        # 'url': url,
        # 'sanction_outcome': sanction_outcome,
        'workflow_entry_details': 'This is unpaid infringements message body.',
    }
    msg = email.send(to_address,
                     context=context,
                     attachments=attachments,
                     cc=cc,
                     bcc=bcc)
    sender = settings.DEFAULT_FROM_EMAIL
    email_data = _extract_email_headers(msg, sender=sender)

    return email_data
コード例 #15
0
ファイル: email.py プロジェクト: shibaken/wildlifecompliance
def send_mail(select_group, legal_case, workflow_entry, request):
    email = LegalCaseForwardNotificationEmail()
    if request.data.get('email_subject'):
        email.subject = request.data.get('email_subject')
    url = request.build_absolute_uri(
        reverse('internal-legal-case-detail',
                kwargs={'legal_case_id': legal_case.id}))
    context = {
        'url': url,
        'legal_case': legal_case,
        'workflow_entry_details': request.data.get('details'),
    }
    email_group = [item.email for item in select_group]
    attachments = prepare_attachments(workflow_entry.documents)
    msg = email.send(
        email_group,
        context=context,
        attachments=attachments,
    )
    sender = request.user if request else settings.DEFAULT_FROM_EMAIL
    email_data = _extract_email_headers(msg, sender=sender)
    return email_data
コード例 #16
0
def send_remind_1st_period_overdue_mail(to_address,
                                        sanction_outcome,
                                        workflow_entry,
                                        cc=None,
                                        bcc=None):
    email = Remind1stPeriodOverdueMail()
    # if request.data.get('email_subject'):
    #     email.subject = request.data.get('email_subject')
    # url = request.build_absolute_uri(reverse('internal-sanction-outcome-detail', kwargs={ 'sanction_outcome_id': sanction_outcome.id }))
    context = {
        # 'url': url,
        'sanction_outcome': sanction_outcome,
        'workflow_entry_details': 'This is message body.',
    }
    # pdf_file_name = 'infringement_notice_{}_{}.pdf'.format(sanction_outcome.lodgement_number, datetime.datetime.now().strftime("%Y%m%d%H%M%S"))
    # document = create_infringement_notice_pdf_bytes(pdf_file_name, sanction_outcome)
    #
    # attachments = []
    # attachments.append((pdf_file_name, document._file.read(), 'application/pdf'))
    #
    # # Attach the pdf file created above to the communication log entry
    # doc = workflow_entry.documents.create(name=document.name)
    # doc._file = document._file
    # doc.save()

    attachments = create_infringement_notice_ybw(sanction_outcome,
                                                 workflow_entry)

    msg = email.send(to_address,
                     context=context,
                     attachments=attachments,
                     cc=cc,
                     bcc=bcc)
    sender = settings.DEFAULT_FROM_EMAIL
    email_data = _extract_email_headers(msg, sender=sender)

    return email_data