Exemple #1
0
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)
Exemple #2
0
    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
Exemple #3
0
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')
Exemple #4
0
    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
Exemple #5
0
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)