def create_user_page(): if current_app.config.get('USER_LDAP', False): abort(400) form = UserProfileForm() roles = Role.query.all() form.roles.choices = [(x.id, x.name) for x in roles] if form.validate(): user = User.query.filter(User.email == request.form['email']).first() if not user: user = User(email=form.email.data, first_name=form.first_name.data, last_name=form.last_name.data, password=current_app.user_manager.hash_password( form.password.data), active=True, email_confirmed_at=datetime.datetime.utcnow()) db.session.add(user) db.session.commit() allowed_roles = form.roles.data for role in roles: if role.id not in allowed_roles: if role in user.roles: user.roles.remove(role) else: if role not in user.roles: user.roles.append(role) db.session.commit() flash('You successfully created the new user.', 'success') return redirect(url_for('main.user_admin_page')) flash('A user with that email address already exists', 'error') return render_template('pages/admin/create_user.html', form=form)
def user_profile_page(): # Initialize form form = UserProfileForm(obj=current_user) blogposts = BlogPost.query.order_by(BlogPost.created.desc()).filter( BlogPost.user_id == current_user.id).all() comments = Comment.query.order_by(Comment.created.desc()).all() u_comments = Comment.query.order_by(Comment.created.desc()).filter( Comment.user_id == current_user.id).all() # Process valid POST if request.method == 'POST' and form.validate(): # Copy form fields to user_profile fields form.populate_obj(current_user) # Save user_profile db.session.commit() # Redirect to home page return redirect(url_for('main.home_page')) # Process GET or invalid POST return render_template('pages/user_profile_page.html', form=form, blogposts=blogposts, comments=comments, u_comments=u_comments)
def user_profile_page(): # Initialize form form = UserProfileForm(request.form, obj=current_user) # Process valid POST if request.method == 'POST' and form.validate(): # Copy form fields to user_profile fields form.populate_obj(current_user) # Save user_profile db.session.commit() # Redirect to home page return redirect(url_for('main.home_page')) # Process GET or invalid POST return render_template('main/user_profile_page.html', form=form)
def user_profile_page(): form = UserProfileForm() # Process valid POST if request.method == 'POST' and form.validate(): # Copy form fields to user_profile fields form.populate_obj(current_user) # Save user_profile db.session.commit() # Redirect to home page return redirect(url_for('main.home_page')) # Process GET or invalid POST form.first_name.data = current_user.first_name form.last_name.data = current_user.last_name return render_template('pages/user_profile_page.html', form=form)
def user_profile_page(): if current_app.config.get('USER_LDAP', False): abort(400) # Initialize form form = UserProfileForm(request.form, obj=current_user) # Process valid POST if request.method == 'POST' and form.validate(): # Copy form fields to user_profile fields form.populate_obj(current_user) # Save user_profile db.session.commit() # Redirect to home page return redirect(url_for('main.user_profile_page')) # Process GET or invalid POST return render_template('pages/user_profile_page.html', current_user=current_user, form=form)
def edit_user_page(user_id): if current_app.config.get('USER_LDAP', False): abort(400) user = User.query.filter(User.id == user_id).first() if not user: abort(404) form = UserProfileForm(obj=user) roles = Role.query.all() form.roles.choices = [(x.id, x.name) for x in roles] if form.validate(): if 'password' in request.form and len(request.form['password']) >= 8: user.password = current_app.user_manager.hash_password( request.form['password']) user.email = form.email.data user.first_name = form.first_name.data user.last_name = form.last_name.data user.active = form.active.data allowed_roles = form.roles.data for role in roles: if role.id not in allowed_roles: if role in user.roles: user.roles.remove(role) else: if role not in user.roles: user.roles.append(role) db.session.commit() flash('You successfully edited the user.', 'success') return redirect(url_for('main.user_admin_page')) form.roles.data = [role.id for role in user.roles] return render_template('pages/admin/edit_user.html', form=form)