示例#1
0
def do_register(**kw):
    ctx = kw['context']
    email = ctx.get_argument('email', '').lower()
    password = ctx.get_argument('password')
    nicename = ctx.get_argument('nicename')
    role = int(store.get_setting('default_role', 'site', `store.ROLE_SUBSCRIBER`))
    error = ''
    try:
        user = store.create_user(role, email, password, nicename)
        value = cookie.make_sign_in_cookie(user.id, password, 86400)
        ctx.set_cookie(cookie.AUTO_SIGNIN_COOKIE, value)
        return 'redirect:/manage/'
    except store.UserAlreadyExistError:
        error = 'Email is already registered by other'
    except StandardError:
        logging.exception('Error when create user')
        error = 'Unexpected error occurred'
    return {
            '__view__' : 'register.html',
            'error' : error,
            'site' : _get_site_info(),
    }
示例#2
0
def do_register(**kw):
    ctx = kw['context']
    email = ctx.get_argument('email', '').lower()
    password = ctx.get_argument('password')
    nicename = ctx.get_argument('nicename')
    role = int(
        store.get_setting('default_role', 'site', ` store.ROLE_SUBSCRIBER `))
    error = ''
    try:
        user = store.create_user(role, email, password, nicename)
        value = cookie.make_sign_in_cookie(user.id, password, 86400)
        ctx.set_cookie(cookie.AUTO_SIGNIN_COOKIE, value)
        return 'redirect:/manage/'
    except store.UserAlreadyExistError:
        error = 'Email is already registered by other'
    except StandardError:
        logging.exception('Error when create user')
        error = 'Unexpected error occurred'
    return {
        '__view__': 'register.html',
        'error': error,
        'site': _get_site_info(),
    }
示例#3
0
def do_signin(**kw):
    ctx = kw['context']
    redirect = ctx.get_argument('redirect', '/')
    email = ctx.get_argument('email', '').lower()
    password = ctx.get_argument('password')
    user = None
    error = ''
    try:
        user = store.get_user_by_email(email)
        if user is None or user.password != password:
            error = r'Bad email or password'
    except StandardError, e:
        logging.exception('failed to sign in')
        error = 'Unexpected error occurred: %s' % e.message
    if error:
        return {
            '__view__': 'signin.html',
            'error': error,
            'redirect': redirect,
            'site': _get_site_info(),
        }
    # make cookie:
    expires = web.COOKIE_EXPIRES_MAX
    try:
        expires = int(ctx.get_argument('expires'))
    except ValueError:
        pass
    value = cookie.make_sign_in_cookie(user.id, password, expires)
    ctx.set_cookie(cookie.AUTO_SIGNIN_COOKIE, value, expires)
    return 'redirect:' + redirect
示例#4
0
    user = None
    error = ''
    try:
        user = store.get_user_by_email(email)
        if user is None or user.password!=password:
            error = r'Bad email or password.'
        elif user.locked:
            error = r'Your account has been locked. Please contact administrator.'
    except StandardError, e:
        logging.exception('failed to sign in')
        error = 'Unexpected error occurred: %s' % e.message
    if error:
        return {
                '__view__' : 'signin',
                'error' : error,
                'email' : email,
                'redirect' : redirect,
                'site' : _get_site_info(),
                'version' : get_version(),
                'google_signin_url' : _get_google_signin_url('/manage/g_signin?redirect=' + urllib.quote(redirect)),
        }
    # make cookie:
    expires = web.COOKIE_EXPIRES_MAX
    try:
        expires = int(ctx.get_argument('expires'))
    except ValueError:
        pass
    value = cookie.make_sign_in_cookie(user.id, password, expires)
    ctx.set_cookie(cookie.AUTO_SIGNIN_COOKIE, value, expires)
    return 'redirect:' + redirect