admin_user.py 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  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-24 15:7:4 (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. column_editable_list = ['is_confirmed', 'is_superuser']
  21. form_columns = ('username', 'email', 'password', 'roles', 'is_confirmed')
  22. # inline_models = (UserInfor, UserSetting, Role)
  23. column_details_exclude_list = ['infor', 'setting']
  24. class UserInforModelView(BaseModelView):
  25. column_list = ['user', 'avatar', 'word', 'school', 'introduce']
  26. column_filters = ['user.username', 'school']
  27. column_searchable_list = ['school']
  28. # inline_models = [(User, dict(form_columns=['username']))]
  29. class UserRoleModelView(BaseModelView):
  30. column_list = ['name', 'description', 'users']
  31. column_filters = ['users.username']
  32. column_searchable_list = ['name']
  33. class UserSettingModelView(BaseModelView):
  34. column_list = ['user', 'online_status', 'topic_list', 'rep_list',
  35. 'ntb_list', 'collect_list', 'locale', 'timezone']
  36. column_sortable_list = (('user', 'user.username'), )
  37. def admin_user(admin):
  38. admin.add_view(UserModelView(User,
  39. db.session,
  40. name='管理用户',
  41. endpoint='admin_users',
  42. url='user',
  43. category='管理用户'))
  44. admin.add_view(UserInforModelView(UserInfor,
  45. db.session,
  46. name='用户信息',
  47. endpoint='admin_user_info',
  48. category='管理用户'))
  49. admin.add_view(UserSettingModelView(UserSetting,
  50. db.session,
  51. name='用户设置',
  52. endpoint='admin_user_setting',
  53. category='管理用户'))
  54. admin.add_view(UserRoleModelView(Role,
  55. db.session,
  56. name='用户组',
  57. endpoint='admin_user_role',
  58. category='管理用户'))