Exemple #1
0
def add_comment():
    form = CommentForm()
    if form.validate_on_submit():
        post = Post.objects(id=form.post_id.data).get()
        comment = Comment(text=form.comment_text.data,
                          from_user=User.objects(id=current_user.id).get(),
                          post=post)
        comment.save()
        Post.objects(id=form.post_id.data).update_one(push__comments=comment)
    return redirect(get_redirect_target())
Exemple #2
0
def view_tag(tag):
    title = f"Tag: {tag}"
    search = False
    q = request.args.get('q')
    if q:
        search = True
    page = request.args.get(get_page_parameter(), type=int, default=1)
    posts_list = Post.objects(tag=tag).paginate(page=page, per_page=10)
    pagination = Pagination(page=page,
                            total=Post.objects(tag=tag).count(),
                            css_framework='bootstrap4',
                            search=search,
                            record_name='posts')
    return render_template('posts/tag_page.html',
                           page_title=title,
                           posts_list=posts_list,
                           pagination=pagination)
Exemple #3
0
def single_post(post_id):
    my_post = Post.objects(id=post_id).get()
    if not my_post:
        abort(404)
    form = CommentForm(post_id=post_id)
    return render_template('posts/single_post.html',
                           page_title=my_post.title,
                           post=my_post,
                           comment_form=form)
Exemple #4
0
def edit_post_proc(post_id):
    form = PostAddForm()
    post = Post.objects(id=post_id).get()
    post.title = form.title.data
    post.tag = form.tag.data
    post.text = form.text.data
    post.urls = form.url.data.split()
    post.save()
    flash('Edited post')
    return redirect(url_for("posts.index"))
def user_profile(user_id):
    title = "User profile"
    search = False
    q = request.args.get('q')
    if q:
        search = True
    page = request.args.get(get_page_parameter(), type=int, default=1)
    user_id = user_id
    user_posts = Post.objects(user=user_id).order_by("-posted").paginate(
        page=page, per_page=10)
    pagination = Pagination(page=page,
                            total=Post.objects(user=user_id).count(),
                            css_framework='bootstrap4',
                            search=search,
                            record_name='posts')
    return render_template('user/user_profile.html',
                           title=title,
                           posts_list=user_posts,
                           pagination=pagination)
Exemple #6
0
def edit_post(post_id):
    page_title = 'Edit post:'
    post = Post.objects(id=post_id).get()
    form = PostAddForm()
    form.title.data = post.title
    form.url.data = " ".join(post.urls)
    form.tag.data = post.tag
    form.text.data = post.text
    return render_template("posts/edit_post.html",
                           page_title=page_title,
                           form=form,
                           post_id=post_id)
Exemple #7
0
from app import create_app
from app.posts.models import Post
from app.user.models import User

flask_app = create_app()

user = User.objects(username="******").get()
for post in Post.objects():
    post.user = user
    post.save()
    print(post.user)
Exemple #8
0
def get_last_urls(count):
    urls = []
    for post in Post.objects().order_by("-posted").limit(count):
        urls.append(post.urls)
    urls = sum(urls, [])
    return urls
Exemple #9
0
def delete_post():
    form = DeleteForm()
    id_ = form.id_.data
    post = Post.objects(id=id_).get()
    post.delete()
    return redirect(url_for('posts.index'))