users.py 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158
  1. from django.conf.urls import patterns, include, url
  2. from django.utils.translation import ugettext_lazy as _
  3. from misago.admin import AdminAction
  4. from misago.models import Ban, Newsletter, PruningPolicy, Rank, User
  5. ADMIN_ACTIONS = (
  6. AdminAction(
  7. section='users',
  8. id='users',
  9. name=_("Users List"),
  10. help=_("Search and browse users"),
  11. icon='user',
  12. model=User,
  13. actions=[
  14. {
  15. 'id': 'list',
  16. 'name': _("Browse Users"),
  17. 'help': _("Browse all registered user accounts"),
  18. 'route': 'admin_users'
  19. },
  20. {
  21. 'id': 'new',
  22. 'name': _("Add User"),
  23. 'help': _("Create new user account"),
  24. 'route': 'admin_users_new'
  25. },
  26. ],
  27. route='admin_users',
  28. urlpatterns=patterns('misago.apps.admin.users.views',
  29. url(r'^$', 'List', name='admin_users'),
  30. url(r'^(?P<page>\d+)/$', 'List', name='admin_users'),
  31. url(r'^inactive/$', 'inactive', name='admin_users_inactive'),
  32. url(r'^new/$', 'New', name='admin_users_new'),
  33. url(r'^edit/(?P<slug>[a-z0-9]+)-(?P<target>\d+)/$', 'Edit', name='admin_users_edit'),
  34. url(r'^delete/(?P<slug>[a-z0-9]+)-(?P<target>\d+)/$', 'Delete', name='admin_users_delete'),
  35. ),
  36. ),
  37. AdminAction(
  38. section='users',
  39. id='ranks',
  40. name=_("Ranks"),
  41. help=_("Administrate User Ranks"),
  42. icon='star',
  43. model=Rank,
  44. actions=[
  45. {
  46. 'id': 'list',
  47. 'name': _("Browse Ranks"),
  48. 'help': _("Browse all existing ranks"),
  49. 'route': 'admin_ranks'
  50. },
  51. {
  52. 'id': 'new',
  53. 'name': _("Add Rank"),
  54. 'help': _("Create new rank"),
  55. 'route': 'admin_ranks_new'
  56. },
  57. ],
  58. route='admin_ranks',
  59. urlpatterns=patterns('misago.apps.admin.ranks.views',
  60. url(r'^$', 'List', name='admin_ranks'),
  61. url(r'^new/$', 'New', name='admin_ranks_new'),
  62. url(r'^edit/(?P<slug>([a-z0-9]|-)+)-(?P<target>\d+)/$', 'Edit', name='admin_ranks_edit'),
  63. url(r'^delete/(?P<slug>([a-z0-9]|-)+)-(?P<target>\d+)/$', 'Delete', name='admin_ranks_delete'),
  64. ),
  65. ),
  66. AdminAction(
  67. section='users',
  68. id='bans',
  69. name=_("Banning"),
  70. help=_("Ban or unban users from forums."),
  71. icon='lock',
  72. model=Ban,
  73. actions=[
  74. {
  75. 'id': 'list',
  76. 'name': _("Browse Bans"),
  77. 'help': _("Browse all existing bans"),
  78. 'route': 'admin_bans'
  79. },
  80. {
  81. 'id': 'new',
  82. 'name': _("Set Ban"),
  83. 'help': _("Set new Ban"),
  84. 'route': 'admin_bans_new'
  85. },
  86. ],
  87. route='admin_bans',
  88. urlpatterns=patterns('misago.apps.admin.banning.views',
  89. url(r'^$', 'List', name='admin_bans'),
  90. url(r'^(?P<page>\d+)/$', 'List', name='admin_bans'),
  91. url(r'^new/$', 'New', name='admin_bans_new'),
  92. url(r'^edit/(?P<target>\d+)/$', 'Edit', name='admin_bans_edit'),
  93. url(r'^delete/(?P<target>\d+)/$', 'Delete', name='admin_bans_delete'),
  94. ),
  95. ),
  96. AdminAction(
  97. section='users',
  98. id='prune_users',
  99. name=_("Prune Users"),
  100. help=_("Delete multiple Users"),
  101. icon='remove',
  102. model=PruningPolicy,
  103. actions=[
  104. {
  105. 'id': 'list',
  106. 'name': _("Pruning Policies"),
  107. 'help': _("Browse all existing pruning policies"),
  108. 'route': 'admin_prune_users'
  109. },
  110. {
  111. 'id': 'new',
  112. 'name': _("Set New Policy"),
  113. 'help': _("Set new pruning policy"),
  114. 'route': 'admin_prune_users_new'
  115. },
  116. ],
  117. route='admin_prune_users',
  118. urlpatterns=patterns('misago.apps.admin.prune.views',
  119. url(r'^$', 'List', name='admin_prune_users'),
  120. url(r'^new/$', 'New', name='admin_prune_users_new'),
  121. url(r'^edit/(?P<target>\d+)/$', 'Edit', name='admin_prune_users_edit'),
  122. url(r'^delete/(?P<target>\d+)/$', 'Delete', name='admin_prune_users_delete'),
  123. url(r'^apply/(?P<target>\d+)/$', 'Apply', name='admin_prune_users_apply'),
  124. ),
  125. ),
  126. AdminAction(
  127. section='users',
  128. id='newsletters',
  129. name=_("Newsletters"),
  130. help=_("Manage and send Newsletters"),
  131. icon='envelope',
  132. model=Newsletter,
  133. actions=[
  134. {
  135. 'id': 'list',
  136. 'name': _("Browse Newsletters"),
  137. 'help': _("Browse all existing Newsletters"),
  138. 'route': 'admin_newsletters'
  139. },
  140. {
  141. 'id': 'new',
  142. 'name': _("New Newsletter"),
  143. 'help': _("Create new Newsletter"),
  144. 'route': 'admin_newsletters_new'
  145. },
  146. ],
  147. route='admin_newsletters',
  148. urlpatterns=patterns('misago.apps.admin.newsletters.views',
  149. url(r'^$', 'List', name='admin_newsletters'),
  150. url(r'^(?P<page>\d+)/$', 'List', name='admin_newsletters'),
  151. url(r'^new/$', 'New', name='admin_newsletters_new'),
  152. url(r'^send/(?P<target>\d+)/(?P<token>[a-zA-Z0-9]+)/$', 'send', name='admin_newsletters_send'),
  153. url(r'^edit/(?P<target>\d+)/$', 'Edit', name='admin_newsletters_edit'),
  154. url(r'^delete/(?P<target>\d+)/$', 'Delete', name='admin_newsletters_delete'),
  155. ),
  156. ),
  157. )