Esempio n. 1
0
def sign_up():
    #print(request.cookies.get('user', 'нету'))
    form = LoginForm(request.form)
    user = get_user_from_session_and_cookies()
    if user:
        return redirect(url_for('index'))


    if request.method == 'POST' and form.validate():

        try:
            user_md5 = md5()
            user_md5.update(bytearray(form.password.data, 'utf8'))
            user_password = user_md5.hexdigest()
            user = User(form.login.data, user_password, None)
            session_db.add(user)
            session_db.commit()
            flash('Login requested by login="******", remember me=' + str(form.remember_me.data))
            session['user'] = {'login':user.login, 'e_mail':user.e_mail, 'role':user.role}
            response = make_response(redirect(url_for('get_user', username=user.login)))
            if form.remember_me.data:
                response.set_cookie('user', user.login, max_age=157680000)
                response.set_cookie('password', user.password, max_age=157680000)

            return response
        except:
            session_db.rollback()
            flash('The user is already exists, ' + str(session_db.query(User).filter(User.role == 1).all()))
            return redirect(url_for('sign_up'))

    return render_template('login.html',
                           method=request.method,
                           title='Sign Up',
                           form=form,
                           page = '/signup')
Esempio n. 2
0
def change_info():
    if 'user' not in session:
        return redirect(url_for('index'))
    user = session_db.query(User).filter(User.login == session['user']['login']).first()
    user.info = request.form['info']
    #print(user.info)
    session_db.commit()
    return redirect(url_for('get_user', username=session['user']['login']))
Esempio n. 3
0
def subscribe():
    # print(request.form['user_login'])
    if 'user' not in session:
        return redirect(url_for('user', username=request.form['user_login']))

    sub = Subscription(session['user']['login'], request.form['user_login'])
    session_db.add(sub)
    session_db.commit()

    return redirect(url_for('get_user', username=request.form['user_login']))
Esempio n. 4
0
def make_post():
    if 'user' not in session:
        return redirect(url_for('index'))
    post = request.form.get('text_post')
    if post and len(post) < 250:
        post = Post(post, datetime.now(), session['user']['login'])
        session_db.add(post)
        session_db.commit()
        return redirect(url_for('get_user', username=session['user']['login']))
    flash('Post must be not empty and > 250 characters')
    return redirect(url_for('get_user', username=session['user']['login']))
Esempio n. 5
0
def unsubscribe():
    # print(request.form['user_login'])
    if 'user' not in session:
        return redirect(url_for('user', username=request.form['user_login']))
    # try:
    sub = Subscription(session['user']['login'], request.form['user_login'])
    # print(sub)
    session_db.query(Subscription).filter(Subscription.follower == sub.follower)\
        .filter(Subscription.blog == sub.blog).delete()
    session_db.commit()
    # except:pass
    return redirect(url_for('get_user', username=request.form['user_login']))
Esempio n. 6
0
def change_password():
    if 'user' not in session:
        return redirect(url_for('index'))
    user_md5 = md5()
    user_md5.update(bytearray(request.form['old_password'], 'utf8'))
    old_password = user_md5.hexdigest()
    user = session_db.query(User).filter(User.login == session['user']['login']).first()
    if old_password != user.password:
        flash('Password is wrong!')
        return redirect(url_for('settings'))
    new_password = request.form['new_password']
    if new_password != request.form['new_password_again']:
        flash('Repeat new password, please!')
        return redirect(url_for(settings))
    user_md5.update(bytearray(new_password, 'utf8'))
    user.password = user_md5.hexdigest()
    session_db.commit()
    flash('Successfully!')
    response = make_response(url_for('settings'))
    response.set_cookie('password', user.password, max_age=157680000)
    return response
Esempio n. 7
0
def delete_post():
    if 'user' not in session:
        return redirect(url_for('index'))
    session_db.query(Post).filter(Post.id == request.form['id']).delete()
    session_db.commit()
    return redirect(url_for('get_user', username=session['user']['login']))