Example #1
0
File: login.py Project: eavae/mlang
def login():
    errors ={}
    next = request.args.get('next', '/')
    if request.method == 'POST':
        try:
            email = request.form['email']
            password = request.form['password']
            next = request.form['next']
            try:
                rememberme = request.form['rememberme']
            except KeyError:
                rememberme = False
            if not validate_email(email):
                errors['email'] = _(u"please check your email address again")
        except KeyError:
            errors['KeyError'] = _(u"key error")

        if not errors:
            user = User.getByEmail(email)
            if user:
                if pack_password(password) == user.password:
                    login_user(user,remember=rememberme)
                    if (not user.nickname) or (not user.learning) or (not user.native):
                        return redirect('/required')
                    else:
                        return redirect(next)
                else:
                    errors['password'] = _(u"password error, please enter again.")
            else:
                errors['email'] = _(u"this email doesn't exist.")
    return render('login.html', errors = errors, next = next)
Example #2
0
File: login.py Project: eavae/mlang
def j_login():
    errors={}
    data={}
    try:
        email = request.form['email']
        password = request.form['password']
        if not validate_email(email):
            errors['email'] = _(u"please check your email address again")
    except KeyError:
        errors['KeyError'] = _(u"key error")
    if not errors:
        user = User.getByEmail(email)
        if user:
            if pack_password(password) == user.password:
                login_user(user,remember=True)
                data['email'] = email
                data['uid'] = user.id
                data['nickname'] = user.nickname
                data['native'] = user.native
                data['learning'] = user.learning
                data['state'] = 'OK'
            else:
                errors['password'] = _(u"password error, please enter again.")
        else:
            errors['email'] = _(u"this email doesn't exist.")
    result = {}
    result['errors'] = errors
    result['data'] = data
    return jsonify(result)