Example #1
0
def post_edit(post_id):
    p = Post.query.get_or_404(post_id)
    form = PostForm(obj=p)
    if form.validate_on_submit():
        form.populate_obj(p)
        db.session.commit()
        flash("更新文章成功", "success")
        return redirect(url_for("post.post_list"))

    return render_template('admin/postEdit.html', post=p, form=form, acurl="/admin/post/" + str(post_id) + "/edit/")
Example #2
0
def edit(post_id):
    post = Post.query.get_or_404(post_id)
    post.permissions.edit.test(403)
    form = PostForm(obj=post)
    if form.validate_on_submit():
        form.populate_obj(post)
        post.save()
        flash(u"你的条目已更新", "successfully")
        return redirect(url_for("post.view", post_id=post_id))
    return render_template("post/edit_post.html", post=post, form=form)
Example #3
0
def post_add():
    form = PostForm()
    if form.validate_on_submit():
        p = Post(user=g.user)
        form.populate_obj(p)
        db.session.add(p)
        db.session.commit()
        flash("新增文章成功", "success")
        return redirect(url_for("post_list"))
    return render_template("admin/postEdit.html", form=form, acurl='/admin/post/add')
Example #4
0
def post(post_id):
    form = PostForm(request.form)
    post = Post.find(post_id)

    if form.validate_on_submit():
        form.populate_obj(post)
        post.save()

        return redirect(url_for('main.post', post_id=post.id))

    return render_template('/pages/read_post.html', form=form, post=post)
Example #5
0
def update(post_id):
    post = Post.find(post_id)
    form = PostForm(obj=post)

    if form.validate_on_submit():
        form.populate_obj(post)
        post.save()

        return redirect(url_for('main.home'))

    return render_template('/pages/write_post.html', form=form, post=post)
Example #6
0
def create():
    form = PostForm(request.form)

    if form.validate_on_submit():
        post = Post()
        form.populate_obj(post)
        post.account_id = current_user.id
        post.save()

        return redirect(url_for('main.home'))

    return render_template('/pages/write_post.html', form=form)
Example #7
0
def edit(post_id):
    post = Post.query.get_or_404(post_id)
    post.permissions.edit.test(403)
    form = PostForm(obj=post)
    if form.validate_on_submit():
        form.populate_obj(post)
        post.save()
        flash(u"你的条目已更新", "successfully")
        return redirect(url_for("post.view", post_id=post_id))
    return render_template("post/edit_post.html", 
                           post=post, 
                           form=form)
Example #8
0
def create_post():
    form = PostForm()
    form['csrf_token'].data = request.cookies['csrf_token']
    print('--------')
    if form.validate_on_submit():
        data = Post()
        print('----', data)
        form.populate_obj(data)
        data.userId = current_user.id
        db.session.add(data)
        db.session.commit()
        return data.to_dict()
    return 'invalid info'
Example #9
0
def edit_post(post_id):
    post = Post.query.get(post_id)
    if post:
        form = PostForm(request.form, post)
        form.category_id.choices = [(g.id, g.name)
                                    for g in Category.query.order_by('id')]
        if form.validate_on_submit():
            form.populate_obj(post)
            post.save()
            return redirect(url_for('admin.show_posts'))
        return render_template('admin/edit-post.html', form=form)
    flash('The post does not exists')
    abort(404)
    pass
Example #10
0
def submit():
    form = PostForm()
    loadform = LoadPostForm()
    category_form = CatgoryForm()
    if form.validate_on_submit():
        post = Post()
        form.populate_obj(post)
        post.author = current_user
        post.save()
        flash(u"多谢你的提交", "successfully")
        # save the action
        save_action(u"提交了条目 " + u'"' + post.title + u'"')
        return redirect(url_for("home.latest"))
    return render_template("home/submit.html",
                           form=form,
                           loadform=loadform,
                           category_form=category_form)
Example #11
0
def _post(post_id=None):
    form = PostForm(request.form)
    msg = ''

    if post_id is not None:
        post = Post.query.filter_by(id=post_id).first_or_404()

    if form.validate_on_submit():
        title = form.title.data
        assert str(form.author_id.data).isdigit()
        post = Post.query.filter_by(title=title).first()
        if post:
            post.save()
            msg = 'Post was successfully updated.'
        else:
            post = Post()
            msg = 'Post was successfully created.'
        form.status.data = form.status.data == 'on'
        tags = form.tags.data
        content = form.content.data
        is_page = form.is_page.data
        del form.tags
        del form.content
        del form.is_page
        form.populate_obj(post)
        if is_page:
            post.type = Post.TYPE_PAGE
        post.save()
        post.update_tags(tags)
        post.set_content(content)
        return _get_post_context()
    elif post_id is not None:
        form = PostForm(obj=post)
        form.tags.data = [tag.name for tag in post.tags]
        form.can_comment.data = post.can_comment
        form.is_page.data = post.is_page
        form.status.data = 'on' if post.status else 'off'
        form.submit.label.text = 'Update'
    tags = Tag.query.all()
    authors = User.query.all()
    return render_template('admin/post.html',
                           form=form,
                           msg=msg,
                           post_id=post_id,
                           tags=tags,
                           authors=authors)
Example #12
0
def edit_post(slug):
    """ Edits an existing blog entry """

    post = Post.query.filter_by(slug=slug).first()
    form = PostForm(obj=post)

    try:
        existing_hero = post.image[0]
    except IndexError:
        existing_hero = None

    if request.method == 'GET':
        # Set the select field (drop down menu) values for a get request.
        form.day.data = post.date_of_visit.strftime('%-d')
        form.month.data = post.date_of_visit.strftime('%-m')
        form.year.data = post.date_of_visit.strftime('%-Y')

    if form.validate_on_submit():
        form.populate_obj(post)

        post.date_of_visit = datetime(int(form.year.data),
                                      int(form.month.data), int(form.day.data))

        # Check if user has uploaded a new hero/banner image; and update.
        img_file = request.files['img_file']
        new_image = persist_img(img_file, form=form,
                                post=post) if img_file else None

        if new_image:

            # Check if an existing image is on disk and remove/replace.
            if existing_hero:
                # Remove hero image data from database
                db.session.delete(existing_hero)

                # Remove file from disk
                os.remove(existing_hero.abs_path)

            db.session.add(new_image)

        db.session.commit()
        return redirect(url_for('main.user', username=current_user.username))

    return render_template('create_post.html', title=post.title, form=form)