Beispiel #1
0
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
Beispiel #2
0
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
Beispiel #3
0
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
Beispiel #4
0
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
Beispiel #5
0
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
Beispiel #6
0
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
Beispiel #7
0
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
Beispiel #8
0
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
Beispiel #9
0
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
Beispiel #10
0
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
Beispiel #11
0
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
Beispiel #12
0
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
Beispiel #13
0
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
Beispiel #14
0
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
Beispiel #15
0
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
Beispiel #16
0
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')
Beispiel #17
0
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
Beispiel #18
0
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