users.py 7.3 KB

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