users.py 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187
  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, WarnLevel
  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. 'link': 'admin_users'
  19. },
  20. {
  21. 'id': 'new',
  22. 'name': _("Add User"),
  23. 'help': _("Create new user account"),
  24. 'link': 'admin_users_new'
  25. },
  26. ],
  27. link='admin_users',
  28. urlpatterns=patterns('misago.apps.admin.users.views',
  29. url(r'^$', 'List', name='admin_users'),
  30. url(r'^(?P<page>[1-9]([0-9]+)?)/$', '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. 'link': 'admin_ranks'
  50. },
  51. {
  52. 'id': 'new',
  53. 'name': _("Add Rank"),
  54. 'help': _("Create new rank"),
  55. 'link': 'admin_ranks_new'
  56. },
  57. ],
  58. link='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='warning_levels',
  69. name=_("Warning Levels"),
  70. help=_("Define penalties for different warning levels."),
  71. icon='exclamation-sign',
  72. model=WarnLevel,
  73. actions=[
  74. {
  75. 'id': 'list',
  76. 'name': _("Browse Warning Levels"),
  77. 'help': _("Browse all existing warning levels"),
  78. 'link': 'admin_warning_levels'
  79. },
  80. {
  81. 'id': 'new',
  82. 'name': _("Set New Warning Level"),
  83. 'help': None,
  84. 'link': 'admin_warning_levels_new'
  85. },
  86. ],
  87. link='admin_warning_levels',
  88. urlpatterns=patterns('misago.apps.admin.warninglevels.views',
  89. url(r'^$', 'List', name='admin_warning_levels'),
  90. url(r'^new/$', 'New', name='admin_warning_levels_new'),
  91. url(r'^edit/(?P<slug>([a-z0-9]|-)+)-(?P<target>\d+)/$', 'Edit', name='admin_warning_levels_edit'),
  92. url(r'^delete/(?P<slug>([a-z0-9]|-)+)-(?P<target>\d+)/$', 'Delete', name='admin_warning_levels_delete'),
  93. ),
  94. ),
  95. AdminAction(
  96. section='users',
  97. id='bans',
  98. name=_("Bans"),
  99. help=_("Ban or unban users from forums."),
  100. icon='lock',
  101. model=Ban,
  102. actions=[
  103. {
  104. 'id': 'list',
  105. 'name': _("Browse Bans"),
  106. 'help': _("Browse all existing bans"),
  107. 'link': 'admin_bans'
  108. },
  109. {
  110. 'id': 'new',
  111. 'name': _("Set Ban"),
  112. 'help': _("Set new Ban"),
  113. 'link': 'admin_bans_new'
  114. },
  115. ],
  116. link='admin_bans',
  117. urlpatterns=patterns('misago.apps.admin.bans.views',
  118. url(r'^$', 'List', name='admin_bans'),
  119. url(r'^(?P<page>[1-9]([0-9]+)?)/$', 'List', name='admin_bans'),
  120. url(r'^new/$', 'New', name='admin_bans_new'),
  121. url(r'^edit/(?P<target>\d+)/$', 'Edit', name='admin_bans_edit'),
  122. url(r'^delete/(?P<target>\d+)/$', 'Delete', name='admin_bans_delete'),
  123. ),
  124. ),
  125. AdminAction(
  126. section='users',
  127. id='prune_users',
  128. name=_("Prune Users"),
  129. help=_("Delete multiple Users"),
  130. icon='remove',
  131. model=PruningPolicy,
  132. actions=[
  133. {
  134. 'id': 'list',
  135. 'name': _("Pruning Policies"),
  136. 'help': _("Browse all existing pruning policies"),
  137. 'link': 'admin_prune_users'
  138. },
  139. {
  140. 'id': 'new',
  141. 'name': _("Set New Policy"),
  142. 'help': _("Set new pruning policy"),
  143. 'link': 'admin_prune_users_new'
  144. },
  145. ],
  146. link='admin_prune_users',
  147. urlpatterns=patterns('misago.apps.admin.pruneusers.views',
  148. url(r'^$', 'List', name='admin_prune_users'),
  149. url(r'^new/$', 'New', name='admin_prune_users_new'),
  150. url(r'^edit/(?P<target>\d+)/$', 'Edit', name='admin_prune_users_edit'),
  151. url(r'^delete/(?P<target>\d+)/$', 'Delete', name='admin_prune_users_delete'),
  152. url(r'^apply/(?P<target>\d+)/$', 'Apply', name='admin_prune_users_apply'),
  153. ),
  154. ),
  155. AdminAction(
  156. section='users',
  157. id='newsletters',
  158. name=_("Newsletters"),
  159. help=_("Manage and send Newsletters"),
  160. icon='envelope',
  161. model=Newsletter,
  162. actions=[
  163. {
  164. 'id': 'list',
  165. 'name': _("Browse Newsletters"),
  166. 'help': _("Browse all existing Newsletters"),
  167. 'link': 'admin_newsletters'
  168. },
  169. {
  170. 'id': 'new',
  171. 'name': _("New Newsletter"),
  172. 'help': _("Create new Newsletter"),
  173. 'link': 'admin_newsletters_new'
  174. },
  175. ],
  176. link='admin_newsletters',
  177. urlpatterns=patterns('misago.apps.admin.newsletters.views',
  178. url(r'^$', 'List', name='admin_newsletters'),
  179. url(r'^(?P<page>[1-9]([0-9]+)?)/$', 'List', name='admin_newsletters'),
  180. url(r'^new/$', 'New', name='admin_newsletters_new'),
  181. url(r'^send/(?P<target>\d+)/(?P<token>[a-zA-Z0-9]+)/$', 'send', name='admin_newsletters_send'),
  182. url(r'^edit/(?P<target>\d+)/$', 'Edit', name='admin_newsletters_edit'),
  183. url(r'^delete/(?P<target>\d+)/$', 'Delete', name='admin_newsletters_delete'),
  184. ),
  185. ),
  186. )