Beispiel #1
0
def send_password_reset(requesting_user, userid):
    user_to_update = User.create_user(userid)
    if not requesting_user.can_administrate(user_to_update):
        return AUTHORIZATION_DENIED

    verify_code = helpers.create_verify_code(user_to_update.username,
                                             requesting_user.username)

    ppr = PendingPasswordReset(user_to_update.username)
    ppr.requestor_username = requesting_user.username
    ppr.verify_code = verify_code
    ppr.save()

    log_action('sending password reset', ppr)

    url = url_for('reset_password',
                  username=user_to_update.username,
                  code=verify_code,
                  _external=True)
    ppr.send_reset_email(
        user_to_update.email,
        user_to_update.first_name,
        url,
        "{0} {1}".format(requesting_user.first_name,
                         requesting_user.last_name),
    )

    return "{}", 202
Beispiel #2
0
def test_send_email():
    first_name = 'jim'
    verification_url = 'https://verify'
    email = '*****@*****.**'
    requestor_name = 'Dave Smith'

    ppr = PendingPasswordReset('abc')
    ppr.requestor_username = '******'
    ppr.send_reset_email(email, first_name, verification_url, requestor_name)

    ps = test_helpers.last_email()

    vars = ps.template_vars
    assert first_name == vars['name']
    assert verification_url == vars['password_reset_url']
    assert requestor_name == vars['requestor_name']
    toaddr = ps.toaddr
    assert email == toaddr

    template = ps.template_name
    assert template == 'password_reset'

    test_helpers.assert_load_template(template, vars)
Beispiel #3
0
def send_password_reset(requesting_user, userid):
    user_to_update = User.create_user(userid)
    if not requesting_user.can_administrate(user_to_update):
        return AUTHORIZATION_DENIED

    verify_code = helpers.create_verify_code(user_to_update.username, requesting_user.username)

    ppr = PendingPasswordReset(user_to_update.username)
    ppr.requestor_username = requesting_user.username
    ppr.verify_code = verify_code
    ppr.save()

    log_action('sending password reset', ppr)

    url = url_for('reset_password', username=user_to_update.username, code=verify_code, _external=True)
    ppr.send_reset_email(
        user_to_update.email,
        user_to_update.first_name,
        url,
        "{0} {1}".format(requesting_user.first_name, requesting_user.last_name),
    )

    return "{}", 202
def test_send_email():
    first_name = 'jim'
    verification_url = 'http://verify'
    email = '*****@*****.**'
    requestor_name = 'Dave Smith'

    ppr = PendingPasswordReset('abc')
    ppr.requestor_username = '******'
    ppr.send_reset_email(email, first_name, verification_url, requestor_name)

    ps = test_helpers.last_email()

    vars = ps.template_vars
    assert first_name == vars['name']
    assert verification_url == vars['password_reset_url']
    assert requestor_name == vars['requestor_name']
    toaddr = ps.toaddr
    assert email == toaddr

    template = ps.template_name
    assert template == 'password_reset'

    test_helpers.assert_load_template(template, vars)