def signup(): """Handle user signup. Create new user and add to DB. Redirect to home page. If form not valid, present form. If there already is a user with that username: flash message and re-present form. """ if CURR_USER_KEY in session: del session[CURR_USER_KEY] form = UserAddForm() if form.validate_on_submit(): try: user = User.signup(username=form.username.data, password=form.password.data, email=form.email.data) db.session.commit() ########### # This is where I need to differentiate between which field requirements are being violated # (i.e. username, email, (more?)) except IntegrityError as e: flash("Username already taken", 'danger') return render_template('users/signup.html', form=form) do_login(user) return redirect("/") else: return render_template('users/signup.html', form=form)
def signup(): """Handle user signup. Create new user and add to DB. Redirect to home page. If form not valid, present form. If the there already is a user with that username: flash message and re-present form. """ form = UserAddForm() if form.validate_on_submit(): try: user = User.signup( username=form.data['username'], password=form.data['password'], email=form.data['email'], image_url=form.data['image_url'] or 'https://t3.ftcdn.net/jpg/00/64/67/52/240_F_64675209_7ve2XQANuzuHjMZXP3aIYIpsDKEbF5dD.jpg', ) db.session.commit() except IntegrityError as e: flash("Username already taken", 'danger') return render_template('users/signup.html', form=form) do_login(user) return redirect("/") else: return render_template('users/signup.html', form=form)
def signup(): """Handle user signup. Create new user and add to DB. Redirect to home page. If form not valid, present form. If the there already is a user with that username: flash message and re-present form. """ form = UserAddForm() if form.validate_on_submit(): try: user = User.signup( username=form.data["username"], password=form.data["password"], email=form.data["email"], image_url=form.data["image_url"], ) db.session.commit() except IntegrityError as e: flash("Username already taken", "danger") return render_template("users/signup.html", form=form) do_login(user) return redirect("/") else: return render_template("users/signup.html", form=form)
def signup(): """Handle user signup Create new user and add to DB, redirect to homepage If form not valid re-present form with error messages if user already exists with that username: flash message and re-present form""" if CURR_USER_KEY in session: del session[CURR_USER_KEY] form = UserAddForm() if form.validate_on_submit(): try: user = User.signup(username=form.username.data, password=form.password.data, first_name=form.first_name.data, last_name=form.last_name.data, email=form.email.data, summoner_name=form.summoner_name.data) db.session.commit() except IntegrityError: flash("Username already taken", "danger") return render_template('users/signup.html', form=form) do_login(user) return redirect('/') else: return render_template('users/signup.html', form=form)
def profile(): """Update profile for current user.""" if not g.user: flash("Access unauthorized.", "danger") return redirect("/") form = UserAddForm(obj=g.user) user_id = g.user.id if form.validate_on_submit(): g.user.username = form.username.data g.user.email = form.email.data g.user.image_url = form.image_url.data g.user.header_image_url = form.header_image_url.data g.user.bio = form.bio.data g.user.location = form.location.data if User.authenticate(form.username.data, form.password.data) != g.user: flash("Incorrect password", "danger") return redirect("/") db.session.add(g.user) db.session.commit() return redirect(f"/users/{g.user.id}") return render_template("/users/edit.html", form=form, user_id=user_id)
def profile(): """Update profile for current user.""" if not g.user: flash("Access Unauthorized,", "danger") return redirect('/') form = UserAddForm() user_info = User.query.get_or_404(session[CURR_USER_KEY]) back_up = User.query.get_or_404(session[CURR_USER_KEY]) if form.validate_on_submit(): user_info.username = form.username.data user_info.email = form.email.data user_info.image_url = form.image_url.data or back_up.image_url user_info.header_image_url = form.header_image_url.data or back_up.header_image_url user_info.bio = form.bio.data or back_up.bio if user_info.authenticate(user_info.username, form.password.data): db.session.add(user_info) db.session.commit() return redirect(f'/users/{g.user.id}') else: flash('Incorect Password!', 'danger') return render_template('/users/edit.html', form=form) return render_template('/users/edit.html', form=form)
def signup(): """Handle user signup. Create new user and add to DB. Redirect to home page. If form not valid, present form. If there is already a user with that username: flash message and re-present form. """ form = UserAddForm() if form.validate_on_submit(): try: user = User.signup( username=form.username.data, password=form.password.data, email=form.email.data, residentState=form.residentState.data, residentCity=form.residentCity.choices, residentStreetAddress=form.residentStreetAddress.data) db.session.commit() except IntegrityError: flash("Username already taken", 'danger') return render_template('signup.html', form=form) do_login(user) return redirect("/") else: return render_template('signup.html', form=form)
def signup(): """Handle user signup. Create new user and add to DB. Redirect to home page. If form not valid, present form. If the there already is a user with that username: flash message and re-present form. """ form = UserAddForm() if form.validate_on_submit(): try: username = generate_username(form.data['first_name'], form.data['last_name']) user = User.signup(first_name=form.data['first_name'], last_name=form.data['last_name'], email=form.data['email'], username=username, password=form.data['password']) db.session.commit() except IntegrityError as e: # need to also handle "Email already taken" errors flash("Username already taken", 'danger') return render_template('users/signup.html', form=form) do_login(user) return redirect("/") else: return render_template('users/signup.html', form=form)
def sign_up_page(): """ Render the signup form or process the information """ if 'CURR_USER_KEY' in session: flash( "You are already logged into an account, please log out before creating a new account.", "danger") return redirect("/search") form = UserAddForm(prefix='form-user-signup-') if form.validate_on_submit(): user_obj = { 'first_name': form.first_name.data, 'display_name': form.display_name.data, 'email': form.email.data, 'password': form.password.data, 'profile_pic': request.form.get('profile_pic'), 'lat': form.lat.data, 'long': form.long.data, 'privacy': request.form.get('privacy'), 'seeking_project': request.form.get('seeking_project'), 'seeking_help': request.form.get('seeking_help') } user_final = User.signup(user_obj) browser_login(user_final) flash("Signed up successfully", "success") return redirect("/search") return render_template("profile-new.html", form=form)
def signup(): form = UserAddForm() if form.validate_on_submit(): username = form.username.data email = form.email.data password = form.password.data firstname = form.firstname.data lastname = form.lastname.data pwd = User.register(username, password) if form.image_file.data: picture_file = save_picture(form.image_file.data) image_file = picture_file new_user = User(username=username, password=pwd, email=email, firstname=firstname, lastname=lastname, image_file=image_file) else: new_user = User(username=username, password=pwd, email=email, firstname=firstname, lastname=lastname) db.session.add(new_user) try: db.session.commit() except IntegrityError: flash("Username already taken", 'danger') return render_template('signup.html', form=form) do_login(new_user) flash('Welcome! Your Account Successfully Created!', "success") return redirect("/index") return render_template('signup.html', form=form)
def signup(): """Handle user signup. Create new user and add to DB. Redirect to home page. If form not valid, present form. If the there already is a user with that username: flash message and re-present form. """ if CURR_USER_KEY in session: del session[CURR_USER_KEY] form = UserAddForm() if form.validate_on_submit(): try: user = User.register( first_name=form.first_name.data, last_name=form.last_name.data, username=form.username.data, password=form.password.data, email=form.email.data, ) db.session.commit() except IntegrityError as e: flash("Username already taken", 'danger') return render_template('signup.html', form=form) do_login(user) return redirect("/") else: return render_template('signup.html', form=form)
def profile(): """Update profile for current user.""" if not g.user: flash('Access unauthorized.', "danger") return redirect('/') form = UserAddForm(obj=g.user) if form.validate_on_submit(): g.user.username = form.username.data g.user.email = form.email.data g.user.image_url = form.image_url.data g.user.header_image_url = form.header_image_url.data user = User.authenticate(form.username.data, form.password.data) if user: try: db.session.commit() flash("changes saved", "success") return redirect(f"/users/{g.user.id}") except Exception: flash('error', 'danger') db.session.rollback() return redirect('/') else: flash('Invalid password', 'danger') return redirect('/') else: return render_template('/users/edit.html', form=form)
def profile(): """Update profile for current user.""" form = UserAddForm() if form.validate_on_submit(): user = User.authenticate(form.username.data, form.password.data) if user: u = User.query.filter_by(username=form.username.data).first() try: u.username = form.username.data u.email = form.email.data u.image_url = form.image_url.data or u.image_url db.session.commit() flash(f"{user.username} updated!", "success") return redirect(f"/users/${u.id}") except: flash("Username already taken", 'danger') return redirect('users/profile') else: flash("Incorrect password", 'danger') return redirect('users/profile') else: user = g.user.id print(user) return render_template('users/edit.html', form=form, user=user)
def signup(): """Handle signing up for the Setlist Manager.""" form = UserAddForm() if form.validate_on_submit(): try: user = User.signup( username=form.username.data, password=form.password.data, email=form.email.data, ) db.session.commit() except IntegrityError as e: if "users_username_key" in repr(e): flash("That username is already in use.", "danger") elif "users_email_key" in repr(e): flash("That email address is already in use.", "danger") return render_template("sign-up.html", form=form) do_login(user) return redirect("/") else: return render_template("sign-up.html", form=form)
def profile(): """Update profile for current user.""" user = g.user form = UserAddForm(obj=user) if form.validate_on_submit(): user = User.authenticate(user.username, form.password.data) if user: user.username = form.username.data user.email = form.email.data user.image_url = form.image_url.data user.header_image_url = form.header_image_url.data user.bio = form.bio.data user.location = form.location.data db.session.add(user) db.session.commit() flash(f'{user.username} has been edited', 'warning') else: flash('Incorrect password for {{ user.username }}', 'warning') return redirect(f'/users/{user.id}') else: return render_template('/users/edit.html', form=form)
def user_add(): # 新增用户 form = UserAddForm() if form.validate_on_submit() and request.method == 'POST': password = form.data['password'] password_repeat = form.data['password_repeat'] if password != password_repeat: flash('两次输入的密码不一致', 'warning') return redirect(url_for('accounts.user_add')) # 将数据保存到数据库 user_obj = User(username=form.data['username'], password=form.data['password'], email=form.data['email'], role=form.data['role'], created_at=datetime.now(), update_at=datetime.now()) db.session.add(user_obj) db.session.commit() # 消息提示 flash('新增用户成功', 'success') # 跳转到用户列表 return redirect(url_for('accounts.user_list')) else: # 消息提示 if request.method == 'POST': flash('请修改错误后再提价,谢谢', 'warning') print(form.errors) return render_template('user_add.html', form=form)
def register_new_user(): """handle registration of new user""" register_form = UserAddForm() login_form = LoginForm() if register_form.validate_on_submit(): try: user = User.signup( email=register_form.new_email.data, password=register_form.new_password.data, username=register_form.new_username.data, first_name=register_form.first_name.data.capitalize(), last_name=register_form.last_name.data.capitalize(), image_url=register_form.image_url.data or User.image_url.default.arg, cover_url=register_form.cover_url.data or User.cover_url.default.arg) db.session.commit() do_login(user) return redirect('/') except IntegrityError: flash( "Email or username already registered! Please log in or try again", 'danger') return render_template('home_anon.html', register_form=register_form, login_form=login_form) else: return render_template('home_anon.html', register_form=register_form, login_form=login_form)
def signup(): """Handle user signup. Create new user and add to DB. Redirect to home page. If form not valid, present form. If the there already is a user with that username: flash message and re-present form. """ form = UserAddForm() if form.validate_on_submit(): try: user = User.signup( username=form.username.data, password=form.password.data, email=form.email.data, image_url=form.image_url.data or User.image_url.default.arg, ) db.session.commit() except IntegrityError: flash("Username already taken", 'danger') return render_template('users/signup.html', form=form) do_login(user) return redirect("/") else: return render_template('users/signup.html', form=form)
def edit_profile(): """edit profile info""" if not g.user: flash("Access Denied Please Login First", "danger") return redirect("/login") form = UserAddForm(obj=g.user) if form.validate_on_submit(): g.user.username = form.username.data g.user.first_name = form.first_name.data g.user.last_name = form.last_name.data g.user.email = form.email.data password = form.password.data user = User.authenticate(g.user.username, password) if user: db.session.add(g.user) db.session.commit() return redirect("/user") else: flash("Password Incorrect") return render_template("/users/editprofile.html", form=form, user_id=g.user.id)
def sign_up_user(): """Handle user signup. Create new user and add to DB. Redirect to home page. If the there already is a user with that username: flash message and re-present form. """ form = UserAddForm() if form.validate_on_submit(): try: user = User.signup( username=form.username.data, password=form.password.data, email=form.email.data, ) db.session.commit() cabinet = Cabinet(user_id=user.id) db.session.add(cabinet) db.session.commit() except IntegrityError: flash("Username already taken", 'danger') return render_template('users/signup.html', form=form) do_login(user) return redirect("/user/") flash('did not work') return redirect('/')
def signup(): """Handle user signup. Create new user and add to DB. Redirect to home page. If form not valid, present form. If the there already is a user with that username: flash message and re-present form. """ form = UserAddForm() if form.validate_on_submit(): try: user = User.signup( username=form.username.data, password=form.password.data, ) except IntegrityError: flash(f"Username {form.username.data} already taken", 'danger') form.username.data = "" return render_template('signup.html', form=form) do_login(user) flash(f"Welcome, {user.username}!", 'success') return redirect("/") else: return render_template('signup.html', form=form)
def show_profile(user_id): """Show individual user profile""" if not g.user: flash("Access unauthorized. Please login to view profile!", "danger") return redirect("/") user = User.query.get_or_404(user_id) saved_recipes = User.get_user_fav_recipes(user_id) form = UserAddForm() delete_form = DeleteAccountForm() if form.validate_on_submit(): User.update_user(user, form) db.session.commit() return redirect(f'/users/{user_id}') if delete_form.validate_on_submit(): valid = User.authenticate(user.username, delete_form.password.data) if (valid): User.remove_user(user_id) db.session.commit() do_logout() return redirect("/") return render_template('/users/profile.html', saved_recipes=saved_recipes, user=user, form=form, delete_form=delete_form)
def signup(): """Handle user signup.""" if CURR_USER_KEY in session: del session[CURR_USER_KEY] form = UserAddForm() if form.validate_on_submit(): try: user = User.signup( username=form.username.data, password=form.password.data, email=form.email.data, image=form.image.data, ) user.save() except NotUniqueError as e: flash(f"{e}: Username already exists", 'danger') return render_template('users/signup.html', form=form) do_login(user) return redirect("/") else: return render_template('users/signup.html', form=form)
def signup(): """Handle user signup. Create new user and add to DB. Redirect to home page. If form not valid, present form. If the there already is a user with that username: flash message and re-present form. """ form = UserAddForm() if form.validate_on_submit(): try: user = User.signup( username=form.username.data, password=form.password.data, email=form.email.data ) db.session.commit() except IntegrityError: flash("Username already taken", 'danger') return render_template('users/signup.html', form=form) do_login(user) flash("Your account has been made!","success") flash("To search your neighborhood, please complete your profile (Especially location!) below.", "primary") return redirect("/users/profile") else: return render_template('users/signup.html', form=form)
def signup(): """Handle user signup. Create new user and add to DB. Redirect to home user's page. If form not valid, present form. If the there already is a user with that username: flash message and re-present form. """ signup_form = UserAddForm() if signup_form.validate_on_submit(): username = signup_form.username.data password = signup_form.password.data email = signup_form.email.data confirm = signup_form.password_check.data image_url = User.image_url.default.arg try: user = User.signup(username=username, password=password, email=email, image_url=image_url) flash(f"Welcome {user.username}!!!") except IntegrityError: flash("Username already taken") return redirect("/") access.do_login(user) return redirect("/") flash("Password does not match confirmed password") return redirect("/")
def signup(): """Handle user signup.""" if CURR_USER_KEY in session: del session[CURR_USER_KEY] form = UserAddForm() if form.validate_on_submit(): try: user = User.signup( username=form.username.data, password=form.password.data, email=form.email.data, image_url=form.image_url.data or User.image_url.default.arg, ) db.session.commit() except IntegrityError as e: flash("Username already taken", 'danger') return render_template('users/signup.html', form=form) do_login(user) return redirect("/") else: return render_template('users/signup.html', form=form)
def signup(): """Handle user signup. Create new user and add to DB. If the there already is a user with that username: flash message """ form = UserAddForm() if form.validate_on_submit(): try: user = User.signup(first_name=form.first_name.data, last_name=form.last_name.data, username=form.username.data, email=form.email.data, password=form.password.data) db.session.commit() except IntegrityError: flash("Username already taken", 'danger') return render_template('user_templates/signup.html', form=form) do_login(user) return redirect("/") else: return render_template('user_templates/signup.html', form=form)
def signup(): form = UserAddForm() if form.validate_on_submit(): user = User.register(form.username.data, form.password.data, form.email.data) db.session.commit() do_login(user) return redirect('/') else: return render_template('signup.html', form=form) return render_template('signup.html', form=form)
def user_add(): user_add_form = UserAddForm() if user_add_form.validate_on_submit(): print(user_add_form.username.data) new_user = User( username = user_add_form.username.data, password = user_add_form.password.data, email = user_add_form.email.data, description = user_add_form.description.data, role_id = int(user_add_form.role.data) ) db.session.add(new_user) db.session.commit() return redirect(url_for('auth.user_list')) return render_template('/auth/user_add.html',user_add_form=user_add_form)
def signup(): """Handle user signup. Create new user and add to DB. Redirect to home page. If form not valid, present form. If the there already is a user with that username: flash message and re-present form. """ form = UserAddForm() if form.validate_on_submit(): try: user = User.signup( username=form.username.data, password=form.password.data, email=form.email.data, image_url=form.image_url.data or User.image_url.default.arg, ) db.session.commit() except IntegrityError as err: db.session.rollback() #TODO: Consider refactoring to helper, this code is used in edit user profile route searched_username_user = User.query.filter_by( username=form.username.data).first() if searched_username_user and searched_username_user is not g.user: form.username.errors = ["Username is taken."] searched_email_user = User.query.filter_by( email=form.email.data).first() if searched_email_user and searched_email_user is not g.user: form.email.errors = ["Email is taken."] return render_template('users/signup.html', form=form) do_login(user) return redirect("/") else: return render_template('users/signup.html', form=form)