コード例 #1
0
ファイル: views.py プロジェクト: manhtai/vietnom
def edit_post(id, ver):
    if ver and ver > 1:
        abort(404)
    nom = Nom.query.get_or_404(id)
    author = current_user._get_current_object()
    post = Post.query.filter_by(nom=nom, author=author).first()
    if post is None:
        post = Post(keyword=nom.keyword, story="", nom=nom, author=author)
        db.session.add(post)

    form = PostForm()
    if form.validate_on_submit():
        if post.keyword != form.keyword.data or \
                post.story != form.story.data:
            post.keyword_backup = post.keyword
            post.keyword = form.keyword.data
            post.story_backup = post.story
            post.story = form.story.data 
            post.shared = form.shared.data
            db.session.add(post)
        elif post.shared != form.shared.data:
            post.shared = form.shared.data
            db.session.add(post)
        cache.delete_memoized(user)
        return redirect(url_for('.nom_view', id=nom.id))

    form.keyword.data = post.keyword_backup if ver else post.keyword
    form.story.data = post.story_backup if ver else post.story
    form.shared.data = post.shared

    return render_template('main/nom_edit.html',
                           nom=nom, form=form, ver=ver)
コード例 #2
0
ファイル: views.py プロジェクト: manhtai/vietnom
def copy_post(id):
    from_post = Post.query.get_or_404(id)
    user = current_user._get_current_object()
    to_post = Post.query.filter_by(author=user,
                                   nom_id=from_post.nom_id).first()
    if current_user.can(Permission.TELL):
        if to_post is None:
            to_post = Post(keyword=from_post.keyword,
                           story=from_post.story,
                           nom=from_post.nom,
                           author=user)
        else:
            to_post.keyword_backup = to_post.keyword
            to_post.keyword = from_post.keyword

            to_post.story_backup = to_post.story
            to_post.story = from_post.story

        db.session.add(to_post)
        return redirect(url_for('.edit_post', id=from_post.nom_id))
    else:
        flash(_('Xin lỗi, bạn không đủ quyền để sao chép câu chuyện'))
        return redirect(url_for('.nom_view', id=from_post.nom_id))