user.py 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. # **************************************************************************
  4. # Copyright © 2016 jianglin
  5. # File Name: user.py
  6. # Author: jianglin
  7. # Email: xiyang0807@gmail.com
  8. # Created: 2016-12-17 11:57:11 (CST)
  9. # Last Update:星期六 2017-3-25 18:16:24 (CST)
  10. # By:
  11. # Description:
  12. # **************************************************************************
  13. from .views import BaseView
  14. from forums.extension import db
  15. from forums.api.user.models import User, UserInfo, UserSetting
  16. STATUS = UserSetting.STATUS
  17. def display_status(column):
  18. return lambda v, c, m, p: m.get_choice_display(column, 'STATUS')
  19. class UserView(BaseView):
  20. pass
  21. class UserInfoView(BaseView):
  22. pass
  23. class UserSettingView(BaseView):
  24. column_formatters = dict(
  25. online_status=display_status('online_status'),
  26. topic_list=display_status('topic_list'),
  27. rep_list=display_status('rep_list'),
  28. ntb_list=display_status('ntb_list'),
  29. collect_list=display_status('collect_list'),
  30. locale=lambda v, c, m, p: m.get_choice_display('locale', 'LOCALE'),
  31. timezone=lambda v, c, m, p: m.get_choice_display('timezone', 'TIMEZONE'),
  32. )
  33. form_choices = {
  34. 'online_status': UserSetting.STATUS,
  35. 'topic_list': UserSetting.STATUS,
  36. 'rep_list': UserSetting.STATUS,
  37. 'ntb_list': UserSetting.STATUS,
  38. 'collect_list': UserSetting.STATUS,
  39. 'locale': UserSetting.LOCALE,
  40. 'timezone': UserSetting.TIMEZONE
  41. }
  42. def register_user(admin):
  43. admin.add_view(
  44. UserView(
  45. User,
  46. db.session,
  47. name='管理用户',
  48. endpoint='admin_user',
  49. category='管理用户'))
  50. admin.add_view(
  51. UserInfoView(
  52. UserInfo,
  53. db.session,
  54. name='管理用户信息',
  55. endpoint='admin_userinfo',
  56. category='管理用户'))
  57. admin.add_view(
  58. UserSettingView(
  59. UserSetting,
  60. db.session,
  61. name='管理用户设置',
  62. endpoint='admin_usersetting',
  63. category='管理用户'))