コード例 #1
0
    def change_password(self, username):
        errorP = ""
        if request.method == "GET":
            profile = user_mongo_utils.get_user_by_username(username)
            return render_template('mod_profile/account.html',
                                   profile=profile,
                                   errorP=errorP)
        elif request.method == 'POST':
            email = current_user.email
            old_password = request.form['old_password']
            new_password = request.form['new_password']
            confirm_new_password = request.form['confirm_new_password']
            user_input = user_mongo_utils.get_user(email=email)
            password_check = bcrypt.check_password_hash(
                user_input.password, old_password)
            if password_check:
                if new_password == confirm_new_password:
                    user_mongo_utils.change_pass(username, new_password)
                    profile = user_mongo_utils.get_user_by_username(username)

                    return render_template(
                        'mod_profile/account.html',
                        profile=profile,
                        success="Password was changed successfully")
                else:
                    profile = user_mongo_utils.get_user_by_username(username)
                    return render_template('mod_profile/account.html',
                                           profile=profile,
                                           errorP="Passwords didn't match")
            else:
                profile = user_mongo_utils.get_user_by_username(username)
                return render_template(
                    'mod_profile/account.html',
                    profile=profile,
                    errorP="This isn't your actual password")
コード例 #2
0
 def paginated_author_articles(self, username, skip_posts_number,
                               posts_per_page):
     # TODO: Restrict access to only authenticated users
     # get the profile object for the given username
     profile = user_mongo_utils.get_user_by_username(username)
     articles = dumps(
         content_mongo_utils.get_authors_paginated_articles(
             profile.id, skip_posts_number, posts_per_page))
     return Response(response=articles)
コード例 #3
0
 def bookmarks(self, username):
     message = "Showing your bookmarked articles"
     profile = user_mongo_utils.get_user_by_username(username)
     bookmarks = bookmarks_mongo_utils.get_bookmark_list(username)
     return render_template('mod_profile/bookmarks.html',
                            article_title=bookmarked_article_title,
                            profile=profile,
                            bookmarks=bookmarks,
                            message=message)
コード例 #4
0
 def feed(self, username):
     ''' Loads the feed page.
     '''
     profile = user_mongo_utils.get_user_by_username(username)
     feed = dumps(
         content_mongo_utils.get_authors_paginated_articles(
             profile.username, 0, 8))
     return render_template('mod_profile/feed.html',
                            profile=profile,
                            feed=feed)
コード例 #5
0
    def comments(self, username):
        message = "Showing your comments on articles"
        profile = user_mongo_utils.get_user_by_username(username)
        comments = comment_mongo_util.get_comments_list(username)

        return render_template('mod_profile/comments.html',
                               article_title=commented_article_title,
                               profile=profile,
                               comments=comments,
                               message=message)
コード例 #6
0
 def category_feed(self, username, category):
     ''' Loads the feed page with specific category article.
             '''
     # get the profile object for the given username
     profile = user_mongo_utils.get_user_by_username(username)
     feed = dumps(
         content_mongo_utils.get_articles_one_category_only(
             profile.username, category))
     return render_template('mod_profile/feed.html',
                            profile=profile,
                            feed=feed)
コード例 #7
0
 def archive(self, username):
     ''' Loads the article archive page.
     '''
     # get the profile object for the given username
     profile = user_mongo_utils.get_user_by_username(username)
     category = content_mongo_utils.get_categories()
     articles_by_category = content_mongo_utils.count_articles_by_category(
         profile.username, category)
     return render_template('mod_profile/archive.html',
                            profile=profile,
                            articles_by_category=articles_by_category)
コード例 #8
0
    def about(self, username):
        ''' Loads the about page.
        '''
        # get the profile object for the given username
        profile = user_mongo_utils.get_user_by_username(username)
        articles_no = content_mongo_utils.count_articles(username)

        if profile.people_followers != None:
            followers_no = len(profile.people_followers)

        return render_template('mod_profile/about.html',
                               profile=profile,
                               articles_no=articles_no,
                               followers_no=followers_no)
コード例 #9
0
    def following(self, username):
        # get the profile object for the given username
        profile = user_mongo_utils.get_user_by_username(username)
        organization = org_mongo_utils.get_organizations()

        return render_template(
            'mod_profile/following.html',
            user_avatar=user_avatar,
            profile=profile,
            get_user_name_last_name_by_username=
            get_user_name_last_name_by_username,
            organization=organization,
            get_org_name_by_username=get_org_name_by_username,
            get_avatar_url=get_avatar_url)
コード例 #10
0
 def profile_settings(self, username):
     # Get the profile info
     error = ""
     if request.method == "GET":
         profile = user_mongo_utils.get_user_by_username(username)
         return render_template('mod_profile/account.html',
                                profile=profile,
                                error=error)
     elif request.method == "POST":
         user_json = {}
         if request.form['email'] is not None:
             user_json['email'] = request.form['email']
             user_json['name'] = request.form['name']
             user_json['location'] = request.form['location']
             user_json['telephone'] = request.form['telephone']
             user_json['mobile'] = request.form['mobile']
             user_json['about_me'] = request.form['about_me']
             user_mongo_utils.update({'username': current_user.username},
                                     user_json)
             profile = user_mongo_utils.get_user_by_username(username)
         return render_template('mod_profile/account.html',
                                profile=profile,
                                error="Successfully updated your profile.")
コード例 #11
0
    def search(self, username):
        ''' Loads the article archive page.
        '''
        # get the profile object for the given username
        profile = user_mongo_utils.get_user_by_username(username)

        keyword = request.args.get('q')

        if keyword:
            feed = content_mongo_utils.find_article(keyword)
        else:
            # TODO: Show latest 10 from each category

            feed = content_mongo_utils.get_authors_articles(profile.username)

        return render_template('mod_profile/search.html',
                               feed=feed,
                               profile=profile)
コード例 #12
0
def my_articles(article_action):
    message = None
    if article_action == "save":
        message = "Your article has been saved, but not published."
    elif article_action == "publish":
        message = "Your article has been published."
    elif article_action == "show":
        message = "Showing your latest articles"
    elif article_action == 'delete':
        message = "Article/s deleted."
    # TODO: Restrict access to only authenticated users
    articles = content_mongo_utils.get_authors_articles(current_user.username)
    profile = user_mongo_utils.get_user_by_username(current_user.username)
    return render_template('mod_article/article_management.html',
                           profile=profile,
                           articles=articles,
                           article_action=article_action,
                           message=message)
コード例 #13
0
def add_comment_reply():
    ''' Adds comment reply.
    :return JSON:
    '''
    data = request.form

    comment_id = comment_mongo_util.add_comment_reply(
        data['reply_of'], data['slug'], data['text'], data['username'],
        data['firstname'], data['lastname'])

    user = user_mongo_utils.get_user_by_username(data['username'])

    response = {
        "id": str(comment_id),
        "avatar_url": url_for('static', filename=user.avatar_url)
    }

    return Response(json.dumps(response),
                    status=200,
                    mimetype='application/json')
コード例 #14
0
def user_avatar(username):
    avatar_url = user_mongo_utils.get_user_by_username(username).avatar_url
    return avatar_url
コード例 #15
0
 def get_avatar_url(self, username):
     user = user_mongo_utils.get_user_by_username(username)
     return user['avatar_url']
コード例 #16
0
ファイル: views.py プロジェクト: artaabdullahu/kreotive
def get_user_name_last_name_by_username(username):
    return user_mongo_utils.get_user_by_username(username)