Exemplo n.º 1
0
    def put(self, id):
        post = Post.get_by_id(id)
        if post is None:
            flash(gettext('The post was not found'), 'error')
            return redirect(url_for('PostsView:index'))
        if not current_user.is_admin() and not post.is_mine():
            abort(401)

        if request.method in ['POST', 'PUT']:
            form = EditPostForm()
            if form.validate_on_submit():
                try:
                    form.populate_obj(post)
                    post.save()
                    flash(gettext('Post was succesfully saved'))
                    if request.method == 'POST':
                        if form.remain.data:
                            return redirect(url_for('PostsView:get', id=post.id))
                        else:
                            return redirect(url_for('PostsView:index'))
                except:
                    flash(gettext('Error while updating the post'), 'error')
            else:
                flash(gettext('Invalid submission, please check the message below'), 'error')
            
            if request.method == 'PUT':
                return jsonify(redirect_to=url_for('PostsView:index'))
        else:
            form = NewPostForm(post)
        return render_template('admin/posts/edit.html',
            title=gettext('Edit Post: %(title)s', title=post.title),
            form=form,
            post=post)
Exemplo n.º 2
0
def edit_post(key):
    post = ndb.Key(urlsafe=key).get()
    form = EditPostForm(obj=post)
    if form.validate_on_submit():
        form.save()
        flash(u'文章修改成功')
        return go_delay_redirect(url_for("admin.post.edit", key=key))
    return render_template('admin/new_or_edit_post.html',
                           form=form,
                           post=post,
                           new=False)
Exemplo n.º 3
0
def edit_post(post_id):
    args = dict(request.args)
    session = db_session.create_session()
    post = session.query(Post).filter(Post.id == post_id).first()
    if post.author.id == current_user.id:
        form = EditPostForm(obj=post)
        if form.validate_on_submit():
            post.title = form.title.data
            post.text = form.text.data
            now_datetime = datetime.datetime.now()
            post.editing_date = now_datetime
            post.editing_date_norm_view = date_to_normal_view(now_datetime)
            session.commit()
            return redirect(args['back_url'])
        return render_template('add_edit_post_page.html', form=form, add=False)
    return redirect('/')
Exemplo n.º 4
0
def edit_post(pk):
    form = EditPostForm()
    try:
        post_obj = Post.objects.get(pk=pk)
    except(DoesNotExist):
        flash('Does not exist')
        return abort(404)

    if form.validate_on_submit():
        post_obj.post_title = edit_property(post_obj.post_title,
                                            form.post_title.data)
        post_obj.description = edit_property(post_obj.description,
                                             form.description.data)
        post_obj.created_on = datetime.utcnow()
        post_obj.save()
        flash('Edited')
    return render_template('post_edit.html', form=form)
Exemplo n.º 5
0
def edit_post(postid):
    form = EditPostForm()
    post = Post.query.filter_by(id = postid).first()
    if post == None:
        flash('Post not found.')
        return redirect(url_for('index'))
    if post.author.id != g.user.id:
        flash('You cannot edit this post.')
        return redirect(url_for('index'))
    if form.validate_on_submit():
        post.body = form.post.data
        post.timestamp = datetime.utcnow()
        post.author = g.user
        post.image = form.image.data
        post.link1 = form.link1.data
        post.link1_text = form.link1_text.data
        post.link2 = form.link2.data
        post.link2_text = form.link2_text.data
        post.link3 = form.link3.data
        post.link3_text = form.link3_text.data
        post.link4 = form.link4.data
        post.link4_text = form.link4_text.data
        post.link5 = form.link5.data
        post.link5_text = form.link5_text.data
        db.session.commit()
        flash('Your edits are now live!')
        return redirect(url_for('index'))
    elif request.method != "POST":
        form.image.data = post.image
        form.post.data = post.body
        form.link1.data = post.link1
        form.link1_text.data = post.link1_text
        form.link2.data = post.link2
        form.link2_text.data = post.link2_text
        form.link3.data = post.link3
        form.link3_text.data = post.link3_text
        form.link4.data = post.link4
        form.link4_text.data = post.link4_text
        form.link5.data = post.link5
        form.link5_text.data = post.link5_text
    return render_template('edit_post.html',
        form = form)
Exemplo n.º 6
0
def edit_post(id):
    form = EditPostForm()
    post = Post.query.get(id)
    if post is None:
        flash("What? I know no post such as this.")
        return redirect(url_for('index'))
    if post.author.id != g.user.id:
        flash('You cannot edit this post!')
        return redirect(url_for('index'))
    if form.validate_on_submit():
        app.logger.info(g.user.handle, 'pre-edited post ', id, post.body)
        post.body = form.body.data
        db.session.add(post)
        db.session.commit()
        flash('History revised.')
        app.logger.info(g.user.handle, 'edited post ', id, post.body)
        return redirect(url_for('index'))
    else:
        form.body.data = post.body
    return render_template('edit_post.html', form=form, post=post, max_post_length=app.config['MAX_POST_LENGTH'])
Exemplo n.º 7
0
def update_post(post_id):
    """Edit form for user's posts."""

    post = Post.query.get(post_id)

    if "user_id" not in session:
        flash("🚫 You must be logged in to edit posts.")
        return redirect("/")

    form = EditPostForm(obj=post)

    if form.validate_on_submit():
        post.title = form.title.data
        post.photo_url = form.photo_url.data
        post.purchase_url = form.purchase_url.data
        post.caption = form.caption.data

        db.session.commit()
        flash(f"New post: {post.title} updated. 👍🏻")
        return redirect("/myposts")

    return render_template("posts/post_edit.html", form=form, post=post)
Exemplo n.º 8
0
def edit_blog_post(post_id):
    user = current_user
    post = Post.query.filter_by(id=post_id).first_or_404()

    # Check that the user logged in is the post's author, if not redirect to index
    if (post.author.id != user.id):
        flash("Only the author of this post can edit it.")
        return redirect('/index')

    title = 'Edit Blog Post'
    header = 'Edit a Blog Post'

    form = EditPostForm(obj=post)

    if form.validate_on_submit():
        post.title = form.title.data
        post.content = form.content.data
        if form.update_ts.data:
            post.timestamp = datetime.datetime.now()

        try:
            db.session.commit()
            flash('Post "' + form.title.data + '" updated!')
            return redirect('/index')
        except e:
            flash(e.message)
            return redirect('/edit_blog_post/' + str(post_id))

    form.populate_obj(post)

    return render_template('edit_blog_post.html',
                           user=user,
                           title=title,
                           header=header,
                           form=form,
                           post=post)
Exemplo n.º 9
0
def edit_post(board_id, post_id):
    """ Edit or add post due date """
    board = Board.query.get_or_404(board_id)

    if not g.user or board.user_id != g.user.id:
        flash("Access unauthorized.", "danger")
        return redirect("/")

    post = Post.query.get_or_404(post_id)
    form = EditPostForm(obj=post)

    if form.validate_on_submit():
        post.complete_by = form.complete_by.data
        db.session.add(post)
        db.session.commit()

        return redirect(f"/boards/{board_id}")

    else:
        notifications = get_notifications(g.user.id)
        return render_template('edit_post.html',
                               form=form,
                               post=post,
                               notifications=notifications)