Ejemplo n.º 1
0
def register_page():
    if current_user.is_authenticated:
        return render_template('register.html')

    form = UserRegisterForm()
    if form.validate_on_submit():
        db.session.add(User(form.username.data, form.password.data))
        db.session.commit()
        homeberry_flash(FLASH_SUCCESS, 'User {} registered.'.format(form.username.data))
        return redirect('/login')
    return render_template('register.html', form=form)
Ejemplo n.º 2
0
def login_page():
    if current_user.is_authenticated:
        return redirect('/')

    form = UserLoginForm()
    if form.validate_on_submit():
        user = User.query.filter_by(username=form.username.data).first()
        login_user(user)
        homeberry_flash(FLASH_SUCCESS, 'User {} logged in.'.format(user.username))
        return redirect('/')

    return render_template('login.html', form=form)
Ejemplo n.º 3
0
def remove_user(id):
    if current_user.is_authenticated and current_user.is_admin:
        user_to_delete = User.query.get(id)
        if user_to_delete:
            db.session.delete(user_to_delete)
            db.session.commit()
            homeberry_flash(FLASH_SUCCESS, 'User {} deleted.'.format(user_to_delete.username))
        else:
            homeberry_flash(FLASH_ERROR, 'Unable to delete user {}.'.format(user_to_delete.username))

        return redirect('/admin')
    else:
        abort(403)
Ejemplo n.º 4
0
def admin_page():
    if current_user.is_authenticated and current_user.is_admin:
        users = [ user for user in User.query.all() if not user.is_admin]
        return render_template('admin.html', form=AdminLoginForm(), users=users)

    form = AdminLoginForm()
    if form.validate_on_submit():
        login_user(form.user)
        homeberry_flash(FLASH_SUCCESS, 'User admin logged in.')
        return redirect('/admin')
    elif request.method == 'POST':
        homeberry_flash(FLASH_ERROR, 'Unable to login admin user.')
    return render_template('admin_login.html', form=form)
Ejemplo n.º 5
0
def change_user_password(username):
    if current_user.is_authenticated and (str(current_user.username) == username or current_user.is_admin):
        form = UserChangePasswordForm()
        if form.validate_on_submit():
            current_user.set_password(form.password.data)
            db.session.commit()
            homeberry_flash(FLASH_SUCCESS, "Changed user's password.")

            if current_user.is_admin:
                return redirect('/admin')
            else:
                return redirect('/')
        elif request.method == 'POST':
            homeberry_flash(FLASH_ERROR, "Unable to change password.")

        return render_template('change_password.html', form=form)
    else:
        abort(403)
Ejemplo n.º 6
0
 def inside_function(*args, **kwargs):
     try:
         view_function(*args, **kwargs)
     except tuple(warning_exceptions) as e:
         homeberry_flash(FLASH_WARNING, e.msg)
     except tuple(error_exceptions) as e:
         homeberry_flash(FLASH_ERROR, e.msg)
     except Exception:
         homeberry_flash(FLASH_ERROR, "Unknown error occurred.")
     finally:
         return redirect(redirect_url)
Ejemplo n.º 7
0
def logout_page():
    if current_user.is_authenticated:
        homeberry_flash(FLASH_SUCCESS, "Successfully logged out {}.".format(current_user.username))
        logout_user()

    return redirect('/')