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)
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)
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
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)
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))
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')
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)
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)