Пример #1
0
def login():
    signup_error_info = "exist username"

    if not current_user.is_anonymous:
        return redirect(url_for('manage_pages.manage'))

    next_href = request.args.get("next", default=None)

    relog_href = '/login'
    if next_href:
        relog_href = '/login?' + urlencode({'next': request.args["next"]},
                                           quote_via=quote_plus)

    info = request.args.get("info", default=None)
    print(info, request.form.get("sign", None))
    if info == signup_error_info:
        return render_template('login.html', info=info, relog_href=relog_href)

    if request.method == 'POST':
        sign = request.form['sign']
        username = request.form.get('username', default=None)
        password = request.form.get('password', default=None)
        blogname = request.form.get('blogname', default=None)
        user = users.get_user(username)
        if sign == 'up':
            if user == None and username and password and blogname:
                users.save_user(db_name, username, hash_password(password))
                login_user(users.get_user(username))
                va_alter(
                    db_name, """
                    insert into blog values(?, ?, 'muse');
                """, blogname, username)
                return redirect(url_for('manage_pages.manage'))
            else:
                return redirect(
                    url_for('login_pages.login') +
                    "?info=exist%20username#signup")
        elif sign == 'in':
            if user != None and check_password(user.hashedpw, password):
                login_user(user)

                print(next_href)
                if next_href:
                    return redirect(next_href)
                else:
                    return redirect(url_for('manage_pages.manage'))
            else:
                return render_template('login.html',
                                       info='signin failed',
                                       relog_href=relog_href)
        else:
            Response("Invalid signin/signup form")
    else:
        return render_template(
            'login.html',
            info="",  # no post data
            relog_href=relog_href)
Пример #2
0
 def validate_password(form, field):
     from app import users
     user = users.get_user(form.name.data)
     if not user:
         return
     if not user.check_password(field.data):
         raise ValidationError('Username and password do not match.')
Пример #3
0
 def validate_password(form, field):
     from app import users
     user = users.get_user(form.name.data)
     if not user:
         return
     if not user.check_password(field.data):
         raise ValidationError('Username and password do not match.')
Пример #4
0
 def validate_name(form, field):
     from app import users
     user = users.get_user(field.data)
     if not user:
         raise ValidationError('This username does not exist.')
Пример #5
0
def load_user(userid):
    return users.get_user(userid)
Пример #6
0
 def validate_name(form, field):
     from app import users
     user = users.get_user(field.data)
     if not user:
         raise ValidationError('This username does not exist.')