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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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