コード例 #1
0
def unfollow(user_id):
    callback = flask.request.args.get('callback')
    current_user = flask_login.current_user
    if current_user.is_anonymous:
        return False
    handler = models.UserHandler(current_user)
    handler.unfollow(user_id)
    return flask.redirect(callback)
コード例 #2
0
def reset_user_password(token):

    # Get id with token
    fake_handler = models.UserHandler('fake_user')
    user_id = fake_handler.decode_reset_password_token(token)

    reset_pwd_form = forms.ResetPassword()
    if reset_pwd_form.validate_on_submit():
        pwd = reset_pwd_form.password.data
        user = models.User.query.filter_by(id=user_id).first()
        if not user:
            flask.redirect(flask.url_for('homepage'))

        handler = models.UserHandler(user)
        handler.add_pwd(pwd)
        flask.flash("Changed password of {}".format(user.name))
    return flask.render_template('reset_password.html', form=reset_pwd_form)
コード例 #3
0
def generate_user():
    user = models.User()
    user.name = fake.name()
    user.email = fake.ascii_email()
    models.UserHandler(user).add_pwd("password")

    print("Created new user {}".format(user))

    return user
コード例 #4
0
ファイル: routes.py プロジェクト: x41lakazam/di-python-2018
def unfollow():
    user_id = flask.request.args.get('user_id')
    callback = flask.request.args.get('callback')

    current_user = flask_login.current_user

    if current_user.is_authenticated:
        handler = models.UserHandler(current_user)
        handler.unfollow(user_id)
        print("{} Unfollowed {}".format(current_user.id, user_id))
    return flask.redirect(callback)
コード例 #5
0
def send_pwdreset_mail_to_user(user):
    # Get token
    handler = models.UserHandler(user)
    token = handler.get_reset_password_token()

    send_email("Reset password",
               sender=app.config['ADMINS'][0],
               receivers=[user.email],
               text_body=flask.render_template('reset_password_mail.txt',
                                               user=user,
                                               token=token))
コード例 #6
0
def change_pp():
    if flask.request.method.lower() == 'post':
        if 'profile_pic' not in flask.request.files:
            return flask.render_template('change_pp.html')
        file = flask.request.files['profile_pic']
        file_name = file.filename
        file_path = app.config['UPLOAD_FOLDER']
        file_save = os.path.join(file_path, file_name)
        file.save(file_save)

        file_rel_path = transform_to_relative(file_save)
        current_usr = flask_login.current_user
        models.UserHandler(current_usr).modify_pp(file_rel_path)
        print("Changed the user pp to {}".format(file_save))
        print("User {} picture is now {}".format(current_usr,
                                                 current_usr.pp_path))
    return flask.render_template('change_pp.html')
コード例 #7
0
ファイル: routes.py プロジェクト: x41lakazam/di-python-2018
def add_user():
    userform = forms.NewUserForm()
    if userform.validate_on_submit():
        name = userform.name.data
        pwd  = userform.password.data

        user = models.User(name=name)

        handler = models.UserHandler(user)
        handler.add_pwd(pwd)

        if not handler.add_to_db():
            flask.flash("Unable to create user")
            return flask.redirect(flask.url_for('add_user'))
        else:
            flask.flash("Welcome {}!".format(user.name))
            return flask.redirect(flask.url_for('homepage'))

    return flask.render_template("newuser.html", userform=userform)
コード例 #8
0
def login():

    loginform = forms.LoginForm()

    if loginform.validate_on_submit():
        username = loginform.username.data
        password = loginform.password.data

        user = models.User.query.filter_by(name=username).first()
        if user is None:
            flask.flash("User {} doesn't exist.".format(username))
            return flask.redirect(flask.url_for('login'))

        user_handler = models.UserHandler(user)
        if user_handler.login(password):
            flask.flash("{} logged in !".format(username))
            print('current_user:'******'homepage'))
        else:
            flask.flash("Something went wrong")

    return flask.render_template('login.html', form=loginform)