admin_follow.py 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. #!/usr/bin/env python
  2. # -*- coding=UTF-8 -*-
  3. # **************************************************************************
  4. # Copyright © 2016 jianglin
  5. # File Name: follows.py
  6. # Author: jianglin
  7. # Email: xiyang0807@gmail.com
  8. # Created: 2016-07-02 20:18:14 (CST)
  9. # Last Update:星期日 2016-7-24 19:57:23 (CST)
  10. # By:
  11. # Description:
  12. # **************************************************************************
  13. from maple import db
  14. from maple.user.models import User
  15. from .admin import BaseModelView
  16. class FollowView(BaseModelView):
  17. can_create = False
  18. column_searchable_list = ['username']
  19. column_filters = ['username', 'following_tags.tagname',
  20. 'following_topics.title', 'following_collects.name',
  21. 'following_users.username']
  22. column_list = ['username', 'following_tags', 'following_topics',
  23. 'following_collects', 'following_users']
  24. form_columns = column_list
  25. class FollowTagsView(BaseModelView):
  26. can_create = False
  27. column_list = ['username', 'following_tags']
  28. column_filters = ['username', 'following_tags.tagname']
  29. column_searchable_list = ['following_tags.tagname', 'username']
  30. form_columns = ['username', 'following_tags']
  31. class FollowTopicView(BaseModelView):
  32. can_create = False
  33. column_list = ['username', 'following_topics']
  34. column_filters = ['username', 'following_topics.title']
  35. column_searchable_list = column_filters
  36. form_columns = ['username', 'following_topics']
  37. class FollowCollectView(BaseModelView):
  38. can_create = False
  39. column_list = ['username', 'following_collects']
  40. column_filters = ['username', 'following_collects.name']
  41. column_searchable_list = column_filters
  42. form_columns = column_list
  43. # column_filters = ['followers.username']
  44. # column_searchable_list = column_list
  45. # form_columns = ['name', 'followers']
  46. class FollowUserView(BaseModelView):
  47. can_create = False
  48. column_list = ['username', 'following_users']
  49. column_labels = {'username': '被关注者', 'following_users': '关注者'}
  50. column_filters = ['username', 'following_users.username']
  51. column_searchable_list = column_filters
  52. form_columns = column_list
  53. def admin_follow(admin):
  54. admin.add_view(FollowView(User,
  55. db.session,
  56. name='全部关注',
  57. endpoint='admin_follow',
  58. category='管理关注'))
  59. admin.add_view(FollowTagsView(User,
  60. db.session,
  61. name='关注节点',
  62. endpoint='admin_follow_tags',
  63. category='管理关注'))
  64. admin.add_view(FollowTopicView(User,
  65. db.session,
  66. name='关注问题',
  67. endpoint='admin_follow_topic',
  68. category='管理关注'))
  69. admin.add_view(FollowCollectView(User,
  70. db.session,
  71. name='关注收藏',
  72. endpoint='admin_follow_collect',
  73. category='管理关注'))
  74. admin.add_view(FollowUserView(User,
  75. db.session,
  76. name='关注用户',
  77. endpoint='admin_follow_user',
  78. category='管理关注'))