admin_user.py 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. #!/usr/bin/env python
  2. # -*- coding=UTF-8 -*-
  3. # **************************************************************************
  4. # Copyright © 2016 jianglin
  5. # File Name: users.py
  6. # Author: jianglin
  7. # Email: xiyang0807@gmail.com
  8. # Created: 2016-07-02 20:12:26 (CST)
  9. # Last Update:星期六 2016-7-2 20:14:36 (CST)
  10. # By:
  11. # Description:
  12. # **************************************************************************
  13. from maple import db, app
  14. from .admin import BaseModelView
  15. from maple.user.models import User, UserInfor, UserSetting, Role
  16. class UserModelView(BaseModelView):
  17. column_exclude_list = ['password', 'infor', 'setting']
  18. column_searchable_list = ['username', 'email']
  19. column_filters = ['email', 'is_superuser', 'is_confirmed', 'register_time']
  20. form_columns = ('username', 'email', 'password')
  21. # inline_models = (UserInfor, UserSetting, Role)
  22. column_details_exclude_list = ['infor', 'setting']
  23. class UserInforModelView(BaseModelView):
  24. column_list = ['user', 'avatar', 'word', 'school', 'introduce']
  25. column_filters = ['user.username', 'school']
  26. column_searchable_list = ['school']
  27. # inline_models = [(User, dict(form_columns=['username']))]
  28. class UserRoleModelView(BaseModelView):
  29. column_list = ['rolename', 'description', 'users']
  30. column_filters = ['users.username']
  31. column_searchable_list = ['rolename']
  32. class UserSettingModelView(BaseModelView):
  33. column_list = ['user', 'online_status', 'topic_list', 'rep_list',
  34. 'ntb_list', 'collect_list', 'locale', 'timezone']
  35. column_sortable_list = (('user', 'user.username'), )
  36. def admin_user(admin):
  37. admin.add_view(UserModelView(User,
  38. db.session,
  39. name='管理用户',
  40. endpoint='admin_users',
  41. url='user',
  42. category='管理用户'))
  43. admin.add_view(UserInforModelView(UserInfor,
  44. db.session,
  45. name='用户信息',
  46. endpoint='admin_user_info',
  47. category='管理用户'))
  48. admin.add_view(UserSettingModelView(UserSetting,
  49. db.session,
  50. name='用户设置',
  51. endpoint='admin_user_setting',
  52. category='管理用户'))
  53. admin.add_view(UserRoleModelView(Role,
  54. db.session,
  55. name='用户组',
  56. endpoint='admin_user_role',
  57. category='管理用户'))