示例#1
0
文件: post.py 项目: alanshi/rpress
def list(post_type):
    publish_status_display_list = [
        PUBLISH_FSM_DEFINE.STATE.DRAFT, PUBLISH_FSM_DEFINE.STATE.UNPUBLISHED,
        PUBLISH_FSM_DEFINE.STATE.PUBLISHED, PUBLISH_FSM_DEFINE.STATE.TRASH
    ]  # for pre-sort
    content = {}

    if not is_valid_post_type(post_type):
        return redirect(url_for('.list', post_type='blog'))

    site = get_current_site()
    queryset = Post.query.filter_by(site=site, type=post_type)

    for publish_status in publish_status_display_list:
        count = queryset.filter_by(publish_status=publish_status).count()
        if count == 0:
            continue

        content[publish_status] = {
            'count':
            count,
            'list':
            queryset.filter_by(publish_status=publish_status).order_by(
                desc('published_time')).all(),
        }

    set_navbar(level1=post_type)
    return render_template("rpadmin/post/list.html",
                           post_type=post_type,
                           content=content)
示例#2
0
def post_list(type):
    """"""
    if not is_valid_post_type(type):
        return  #!!!

    site = get_current_request_site()

    posts = Post.query.filter_by(site=site, type=type).order_by(desc('publish_date')).all()

    return render_template("rp/site_admin/post_list.html", posts=posts, post_type=type)
示例#3
0
def post_new(type):
    """"""
    if not is_valid_post_type(type):
        return  #!!!

    user = User.query.filter_by(id=current_user.id).first()
    if user is None:
        return  #!!!

    site = get_current_request_site()

    post = Post(author=user, site=site, type=type)
    db.session.add(post)
    db.session.commit()

    return redirect(url_for('.post_edit', uuid=post.uuid))
示例#4
0
文件: post.py 项目: alanshi/rpress
def new(post_type):
    """"""
    if not is_valid_post_type(post_type):
        return

    user = User.query.filter_by(id=current_user.id).first()
    if user is None:
        return

    site = get_current_site()

    post = Post(author=user, site=site, type=post_type)
    db.session.add(post)
    db.session.commit()

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