def my_profile(): prompt_message = "" prompt_success = "" if request.method == 'POST': new_email = request.form.get('updateEmail') user = User.get_by_email(new_email) if user and user.email != session.get('email'): prompt_message = 'A user with the same email already exists.' elif not user and len(new_email): new_password = request.form.get('updatePassword') p = new_password if len(new_password) > 0 else None current_user = User.get_by_email(session.get('email')) current_user.update_user(new_email, p) session.__setitem__('email', new_email) prompt_success = 'Details updated successfully' elif not len(new_email): new_password = request.form.get('updatePassword') p = new_password if len(new_password) > 0 else None current_user = User.get_by_email(session.get('email')) current_user.update_user(None, p) if len(new_password): prompt_success = "Password updated successfully." else: prompt_message = "Nothing to update." return render_template('profile.html', prompt_message=prompt_message, prompt_success=prompt_success)
def post(self, data): user = User.get_by_email(data['email']) if not user or not user.check_hash(data['password']): raise InvalidUsage(403, 'Invalid credentials') token = create_access_token(identity=user) user.token = token return user
def create_new_blog(): user = User.get_by_email(session.get('email')) title = request.form.get('blogTitle') description = request.form.get('blogDescription') blog = Blog(title=title, description=description, author=user.email, author_id=user._id) blog.save_to_mongo() return redirect('/myblogs')
def post(self, data): user_in_db = User.get_by_email(data['email']) if user_in_db: raise InvalidUsage(400, 'Email already registered') user = User(**data) user.save() token = create_access_token(identity=user) return {'token': token, 'username': user.username}, 201
def get_blogs(user_id=None): user = None if user_id: user = User.get_by_id(user_id) elif not user_id: user = User.get_by_email(session.get('email')) if not user: return render_template('error_404.html') user_blogs = user.get_blogs() return render_template('myblogs.html', blogs=user_blogs, email=session.get('email'), c=0)