예제 #1
0
def create_code():
    data = parse_request(RoleCodeCreateSchema)
    signature = Role.SIGNATURE.dumps(data['email'])
    url = '{}activate/{}'.format(app_ui_url, signature)
    role = Role(email=data['email'], name='Visitor')
    notify_role_template(role, 'Registration',
                         'email/registration_code.html',
                         url=url)
    return jsonify({
        'status': 'ok',
        'message': 'To proceed, please check your email.'
    })
예제 #2
0
def invite_email():
    data = parse_request(schema=RoleInviteSchema)
    signature = Role.SIGNATURE.dumps(data['email'])
    url = '{}signup/{}'.format(app_url, signature)
    role = Role(email=data['email'], name='Visitor')
    notify_role_template(role, 'Registration',
                         'email/registration_invitation.html',
                         url=url)
    return jsonify({
        'status': 'ok',
        'message': 'To proceed, please check your email.'
    })
예제 #3
0
파일: roles.py 프로젝트: wayne9qiu/aleph
def challenge_role(data):
    """Given an email address, this will send out a message to allow
    the user to then register an account."""
    signature = Role.SIGNATURE.dumps(data["email"])
    url = "{}activate/{}".format(settings.APP_UI_URL, signature)
    role = Role(email=data["email"], name=data["email"])
    params = dict(
        url=url, role=role, ui_url=settings.APP_UI_URL, app_title=settings.APP_TITLE
    )
    plain = render_template("email/registration_code.txt", **params)
    html = render_template("email/registration_code.html", **params)
    log.info("Challenge: %s", plain)
    email_role(role, gettext("Registration"), html=html, plain=plain)
예제 #4
0
def create_code():
    data = parse_request(RoleCodeCreateSchema)
    signature = Role.SIGNATURE.dumps(data['email'])
    url = '{}activate/{}'.format(settings.APP_UI_URL, signature)
    role = Role(email=data['email'], name='Visitor')
    log.info("Confirmation URL [%r]: %s", role, url)
    notify_role(role,
                gettext('Registration'),
                'email/registration_code.html',
                url=url)
    return jsonify({
        'status': 'ok',
        'message': gettext('To proceed, please check your email.')
    })
예제 #5
0
파일: roles_api.py 프로젝트: wcyn/aleph
def invite_email():
    data = request_data()
    email = data.get('email')

    if not email:
        abort(400)

    signature = Role.SIGNATURE_SERIALIZER.dumps(email, salt=email)
    url = '{}signup/{}'.format(app_url, signature)
    role = Role(email=email, name='Visitor')

    notify_role(role=role,
                subject='Registration',
                html=render_template('email/registration_invitation.html',
                                     url=url,
                                     role=role))

    return jsonify({'status': 'To proceed, please check your email.'}), 201