def applicant_schedule_confirmation(**args): """ This message is sent to the applicant after the requested review date is successfully saved to VIPS. """ config = args.get('config') vips_application = args.get('vips_application') email_address = vips_application['email'] presentation_type = vips_application['presentationTypeCd'] t = 'review_date_confirmed_{}.html'.format(presentation_type) args['email_template'] = t phone = vips_application['phoneNo'] prohibition_number = args.get('prohibition_number') content = get_email_content(t, prohibition_number) template = get_jinja2_env().get_template(t) return common_email_services.send_email( [email_address], content["subject"], config, template.render( full_name=args.get('applicant_name'), prohibition_number=prohibition_number, subject=content["subject"], phone=phone, friendly_review_time_slot=args.get('friendly_review_time_slot'))), args
def applicant_prohibition_not_found_yet(**args): config = args.get('config') prohibition_number = args.get('prohibition_number') date_served_string = args.get('date_of_service') date_served = helper.localize_timezone(datetime.strptime(date_served_string, '%Y-%m-%d')) human_friendly_date_served = date_served.strftime("%B %d, %Y") notice_type = args.get('user_entered_notice_type') t = "{}_prohibition_not_found_yet.html".format(notice_type) args['email_template'] = t content = get_email_content(t, prohibition_number) template = get_jinja2_env().get_template(t) # Note: we rely on the date_served as submitted by the user -- not the date in VIPS # Check to see if enough time has elapsed to enter the prohibition into VIPS return common_email_services.send_email( [args.get('applicant_email_address')], content["subject"], config, template.render( link_to_icbc=config.LINK_TO_ICBC, link_to_service_bc=config.LINK_TO_SERVICE_BC, date_of_service=human_friendly_date_served, full_name=args.get('driver_full_name'), prohibition_number=prohibition_number, subject=content["subject"])), args
def applicant_to_schedule_review(**args): """ This message is sent immediately after an applicant pays the application fee. Since we don't have the driver's first name handy, this email is addressed to the applicant. """ config = args.get('config') payload = args.get('payload') vips_application = args.get('vips_application') vips_data = args.get('vips_data') t = "{}_select_review_date.html".format(vips_data['noticeTypeCd']) args['email_template'] = t email_address = vips_application['email'] full_name = "{} {}".format(vips_application['firstGivenNm'], vips_application['surnameNm']) prohibition_number = args.get('prohibition_number') content = get_email_content(t, prohibition_number) template = get_jinja2_env().get_template(t) return common_email_services.send_email( [email_address], content["subject"], config, template.render(link_to_schedule_form=config.LINK_TO_SCHEDULE_FORM, order_number=payload.get('transaction_id'), full_name=full_name, prohibition_number=prohibition_number, subject=content["subject"]), prohibition_number), args
def send_email_to_admin(**args): subject = args.get('subject') config = args.get('config') message = args.get('message') body = args.get('body') template = get_jinja2_env().get_template('admin_notice.html') return common_email_services.send_email( [config.ADMIN_EMAIL_ADDRESS], subject, config, template.render(subject=subject, body=body, message=json.dumps(message)), 'admin'), args
def applicant_review_type_change(**args): config = args.get('config') prohibition_number = args.get('prohibition_number') t = "review_type_change.html" args['email_template'] = t content = get_email_content(t, prohibition_number) template = get_jinja2_env().get_template(t) return common_email_services.send_email( [args.get('applicant_email_address')], content["subject"], config, template.render(full_name=args.get('applicant_full_name'), prohibition_number=prohibition_number, subject=content["subject"]), prohibition_number), args
def applicant_prohibition_served_more_than_7_days_ago(**args): config = args.get('config') prohibition_number = args.get('prohibition_number') t = "not_received_in_time.html" args['email_template'] = t content = get_email_content(t, prohibition_number) template = get_jinja2_env().get_template(t) return common_email_services.send_email( [args.get('applicant_email_address')], content["subject"], config, template.render(full_name=args.get('applicant_full_name'), prohibition_number=prohibition_number, subject=content["subject"]), prohibition_number), args
def applicant_applied_at_icbc(**args) -> tuple: config = args.get('config') prohibition_number = args.get('prohibition_number') t = "applicant_applied_at_icbc.html" args['email_template'] = t content = get_email_content(t, prohibition_number) template = get_jinja2_env().get_template(t) return common_email_services.send_email( [args.get('applicant_email_address')], content["subject"], config, template.render(link_to_paybc=config.LINK_TO_PAYBC, full_name="Applicant", prohibition_number=prohibition_number, subject=content["subject"]), prohibition_number), args
def already_applied(**args): config = args.get('config') prohibition_number = args.get('prohibition_number') vips_data = args.get('vips_data') t = "{}_already_applied.html".format(vips_data['noticeTypeCd']) args['email_template'] = t content = get_email_content(t, prohibition_number) template = get_jinja2_env().get_template(t) return common_email_services.send_email( [args.get('applicant_email_address')], content["subject"], config, template.render(full_name=args.get('applicant_full_name'), prohibition_number=prohibition_number, subject=content["subject"]), prohibition_number), args
def applicant_licence_not_seized(**args): config = args.get('config') prohibition_number = args.get('prohibition_number') t = "licence_not_seized.html" args['email_template'] = t content = get_email_content(t, prohibition_number) template = get_jinja2_env().get_template(t) return common_email_services.send_email( [args.get('applicant_email_address')], content["subject"], config, template.render(link_to_icbc=config.LINK_TO_ICBC, link_to_service_bc=config.LINK_TO_SERVICE_BC, full_name=args.get('applicant_full_name'), prohibition_number=prohibition_number, subject=content["subject"]), prohibition_number), args
def applicant_evidence_instructions(**args) -> tuple: config = args.get('config') prohibition_number = args.get('prohibition_number') vips_application = args.get('vips_application') email_address = vips_application['email'] t = 'send_evidence_instructions.html' args['email_template'] = t content = get_email_content(t, prohibition_number) template = get_jinja2_env().get_template(t) return common_email_services.send_email( [email_address], content["subject"], config, template.render(link_to_evidence_form=config.LINK_TO_EVIDENCE_FORM, full_name=args.get('applicant_name'), prohibition_number=prohibition_number, subject=content["subject"]), prohibition_number), args
def already_applied(**args): config = args.get('config') prohibition_number = args.get('prohibition_number') t = 'already_applied.html' args['email_template'] = t content = get_email_content(t, prohibition_number) template = get_jinja2_env().get_template(t) return common_email_services.send_email( [args.get('applicant_email_address')], content["subject"], config, template.render( full_name=args.get('driver_full_name'), prohibition_number=prohibition_number, subject=content["subject"])), args
def application_accepted(**args): config = args.get('config') prohibition_number = args.get('prohibition_number') vips_data = args.get('vips_data') t = "{}_application_accepted.html".format(vips_data['noticeTypeCd']) args['email_template'] = t content = get_email_content(t, prohibition_number) template = get_jinja2_env().get_template(t) return common_email_services.send_email( [args.get('applicant_email_address')], content["subject"], config, template.render(deadline_date_string=args.get('deadline_date_string'), link_to_paybc=config.LINK_TO_PAYBC, full_name=args.get('applicant_full_name'), prohibition_number=prohibition_number, subject=content["subject"]), prohibition_number), args
def applicant_disclosure(**args) -> tuple: config = args.get('config') prohibition_number = args.get('prohibition_number') vips_data = args.get('vips_data') t = '{}_send_disclosure.html'.format(vips_data['noticeTypeCd']) args['email_template'] = t content = get_email_content(t, prohibition_number) template = get_jinja2_env().get_template(t) return common_email_services.send_email( [args.get('applicant_email_address')], content["subject"], config, template.render( link_to_get_driving_record=config.LINK_TO_GET_DRIVING_RECORD, full_name=args.get('applicant_name'), prohibition_number=prohibition_number, subject=content["subject"]), prohibition_number, args.get('disclosure_for_applicant')), args
def applicant_disclosure(**args) -> tuple: config = args.get('config') prohibition_number = args.get('prohibition_number') t = 'send_disclosure_documents.html' args['email_template'] = t content = get_email_content(t, prohibition_number) template = get_jinja2_env().get_template(t) return common_email_services.send_email( [args.get('applicant_email_address')], content["subject"], config, template.render( full_name=args.get('applicant_name'), prohibition_number=prohibition_number, subject=content["subject"]), args.get('disclosure_for_applicant')), args
def applicant_prohibition_not_found(**args): config = args.get('config') prohibition_number = args.get('prohibition_number') notice_type = args.get('user_entered_notice_type') t = "{}_prohibition_not_found.html".format(notice_type) args['email_template'] = t content = get_email_content(t, prohibition_number) template = get_jinja2_env().get_template(t) return common_email_services.send_email( [args.get('applicant_email_address')], content["subject"], config, template.render( link_to_icbc=config.LINK_TO_ICBC, link_to_service_bc=config.LINK_TO_SERVICE_BC, full_name=args.get('driver_full_name'), prohibition_number=prohibition_number, subject=content["subject"])), args
def send_form_xml_to_admin(**args): xml = args.get('xml_base64', None) if xml: config = args.get('config') subject = 'DEBUG - Form XML attached' template = get_jinja2_env().get_template('admin_notice.html') return common_email_services.send_email( [config.ADMIN_EMAIL_ADDRESS], subject, config, template.render(body='XML attached', message='message xml attached', subject=subject), [{ "content": args.get('xml_base64'), "contentType": "string", "encoding": "base64", "filename": "submitted_form.xml" }]), args logging.info('No XML to send')
def applicant_evidence_received(**args) -> tuple: config = args.get('config') prohibition_number = args.get('prohibition_number') email_address = args.get('email_address') vips_application = args.get('vips_application') full_name = "{} {}".format(vips_application['firstGivenNm'], vips_application['surnameNm']) t = 'evidence_received.html' args['email_template'] = t content = get_email_content(t, prohibition_number) template = get_jinja2_env().get_template(t) return common_email_services.send_email( [email_address], content["subject"], config, template.render( link_to_evidence_form=config.LINK_TO_EVIDENCE_FORM, full_name=full_name, today_date=args.get('today_date').strftime("%B %d, %Y %H:%M"), prohibition_number=prohibition_number, subject=content["subject"]), prohibition_number), args
def applicant_last_name_mismatch(**args): """ This email is sent to the applicant if the last name entered by the applicant does not match the last name of the driver as entered in VIPS """ config = args.get('config') prohibition_number = args.get('prohibition_number') vips_data = args.get('vips_data') t = "{}_last_name_mismatch.html".format(vips_data['noticeTypeCd']) args['email_template'] = t content = get_email_content(t, prohibition_number) template = get_jinja2_env().get_template(t) return common_email_services.send_email( [args.get('applicant_email_address')], content["subject"], config, template.render( link_to_application_form=config.LINK_TO_APPLICATION_FORM, link_to_icbc=config.LINK_TO_ICBC, link_to_service_bc=config.LINK_TO_SERVICE_BC, full_name=args.get('applicant_full_name'), prohibition_number=prohibition_number, subject=content["subject"]), prohibition_number), args