1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- #!/usr/bin/env python
- # -*- coding=UTF-8 -*-
- # **************************************************************************
- # Copyright © 2016 jianglin
- # File Name: topics.py
- # Author: jianglin
- # Email: xiyang0807@gmail.com
- # Created: 2016-07-02 20:15:46 (CST)
- # Last Update:星期六 2016-7-2 20:17:44 (CST)
- # By:
- # Description:
- # **************************************************************************
- from maple import db
- from maple.topic.models import Topic, Reply
- from maple.filters import Filters
- from .admin import BaseModelView
- class TopicModelView(BaseModelView):
- can_create = False
- column_searchable_list = ('title', 'content', 'author.username')
- column_filters = ['publish', 'is_good', 'is_top', 'author.username',
- 'vote']
- column_exclude_list = ['uid', 'content']
- column_editable_list = ['title', 'is_good', 'is_top']
- column_default_sort = 'publish'
- column_formatters = dict(
- content=lambda v, c, m, p: Filters.safe_markdown(m.content))
- form_widget_args = {'content': {'rows': 10}}
- form_excluded_columns = ('replies', 'collectors', 'followers', 'collects')
- form_ajax_refs = {'tags': {'fields': ('tagname', ), 'page_size': 10}}
- class ReplyModelView(BaseModelView):
- column_searchable_list = ['topic.title', 'content']
- column_filters = ['author.username', 'publish', 'updated']
- form_excluded_columns = ['topic', 'likers']
- form_widget_args = {'content': {'rows': 10}}
- class ReplyLikeView(BaseModelView):
- column_list = ['content', 'author', 'likers']
- form_columns = column_list
- def admin_topic(admin):
- admin.add_view(TopicModelView(Topic,
- db.session,
- name='管理主题',
- endpoint='admin_topics',
- category='主题回复'))
- admin.add_view(ReplyModelView(Reply,
- db.session,
- name='管理回复',
- endpoint='admin_replies',
- category='主题回复'))
- admin.add_view(ReplyLikeView(Reply,
- db.session,
- name='回复点赞',
- endpoint='admin_reply_like',
- category='主题回复'))
|