__init__.py 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. from django.conf.urls import patterns, include, url
  2. from django.utils.translation import ugettext_lazy as _
  3. from misago.admin import AdminSection, AdminAction
  4. from misago.acl.models import Role
  5. from misago.banning.models import Ban
  6. from misago.users.models import User, Rank
  7. ADMIN_SECTIONS=(
  8. AdminSection(
  9. id='users',
  10. name=_("Users"),
  11. icon='user',
  12. after='overview',
  13. ),
  14. )
  15. ADMIN_ACTIONS=(
  16. AdminAction(
  17. section='users',
  18. id='users',
  19. name=_("Users List"),
  20. help=_("Search and browse users"),
  21. icon='user',
  22. model=User,
  23. actions=[
  24. {
  25. 'id': 'list',
  26. 'icon': 'list-alt',
  27. 'name': _("Browse Users"),
  28. 'help': _("Browse all registered user accounts"),
  29. 'route': 'admin_users'
  30. },
  31. {
  32. 'id': 'new',
  33. 'icon': 'plus',
  34. 'name': _("Add User"),
  35. 'help': _("Create new user account"),
  36. 'route': 'admin_users_new'
  37. },
  38. ],
  39. route='admin_users',
  40. urlpatterns=patterns('misago.users.admin.users.views',
  41. url(r'^$', 'List', name='admin_users'),
  42. url(r'^(?P<page>\d+)/$', 'List', name='admin_users'),
  43. url(r'^inactive/$', 'inactive', name='admin_users_inactive'),
  44. url(r'^new/$', 'List', name='admin_users_new'),
  45. url(r'^edit/(?P<slug>[a-z0-9]+)-(?P<target>\d+)/$', 'Edit', name='admin_users_edit'),
  46. url(r'^delete/(?P<slug>[a-z0-9]+)-(?P<target>\d+)/$', 'Delete', name='admin_users_delete'),
  47. ),
  48. ),
  49. AdminAction(
  50. section='users',
  51. id='roles',
  52. name=_("Roles"),
  53. help=_("Manage User Roles"),
  54. icon='adjust',
  55. model=Role,
  56. actions=[
  57. {
  58. 'id': 'list',
  59. 'icon': 'list-alt',
  60. 'name': _("Browse Roles"),
  61. 'help': _("Browse all existing roles"),
  62. 'route': 'admin_users_roles'
  63. },
  64. {
  65. 'id': 'new',
  66. 'icon': 'plus',
  67. 'name': _("Add Role"),
  68. 'help': _("Create new role"),
  69. 'route': 'admin_users_roles_new'
  70. },
  71. ],
  72. route='admin_users_roles',
  73. urlpatterns=patterns('misago.users.admin.roles.views',
  74. url(r'^$', 'List', name='admin_users_roles'),
  75. url(r'^new/$', 'New', name='admin_users_roles_new'),
  76. url(r'^edit/(?P<slug>([a-z0-9]|-)+)-(?P<target>\d+)/$', 'Edit', name='admin_users_roles_edit'),
  77. url(r'^delete/(?P<slug>([a-z0-9]|-)+)-(?P<target>\d+)/$', 'Delete', name='admin_users_roles_delete'),
  78. ),
  79. ),
  80. AdminAction(
  81. section='users',
  82. id='ranks',
  83. name=_("Ranks"),
  84. help=_("Administrate User Ranks"),
  85. icon='star',
  86. model=Rank,
  87. actions=[
  88. {
  89. 'id': 'list',
  90. 'icon': 'list-alt',
  91. 'name': _("Browse Ranks"),
  92. 'help': _("Browse all existing ranks"),
  93. 'route': 'admin_users_ranks'
  94. },
  95. {
  96. 'id': 'new',
  97. 'icon': 'plus',
  98. 'name': _("Add Rank"),
  99. 'help': _("Create new rank"),
  100. 'route': 'admin_users_ranks_new'
  101. },
  102. ],
  103. route='admin_users_ranks',
  104. urlpatterns=patterns('misago.users.admin.ranks.views',
  105. url(r'^$', 'List', name='admin_users_ranks'),
  106. url(r'^new/$', 'New', name='admin_users_ranks_new'),
  107. url(r'^edit/(?P<slug>([a-z0-9]|-)+)-(?P<target>\d+)/$', 'Edit', name='admin_users_ranks_edit'),
  108. url(r'^delete/(?P<slug>([a-z0-9]|-)+)-(?P<target>\d+)/$', 'Delete', name='admin_users_ranks_delete'),
  109. ),
  110. ),
  111. AdminAction(
  112. section='users',
  113. id='bans',
  114. name=_("Banning"),
  115. help=_("Ban or unban users from forums."),
  116. icon='lock',
  117. model=Ban,
  118. actions=[
  119. {
  120. 'id': 'list',
  121. 'icon': 'list-alt',
  122. 'name': _("Browse Bans"),
  123. 'help': _("Browse all existing bans"),
  124. 'route': 'admin_users_bans'
  125. },
  126. {
  127. 'id': 'new',
  128. 'icon': 'plus',
  129. 'name': _("Set Ban"),
  130. 'help': _("Set new Ban"),
  131. 'route': 'admin_users_bans_new'
  132. },
  133. ],
  134. route='admin_users_bans',
  135. urlpatterns=patterns('misago.banning.admin.views',
  136. url(r'^$', 'List', name='admin_users_bans'),
  137. url(r'^(?P<page>\d+)/$', 'List', name='admin_users_bans'),
  138. url(r'^new/$', 'New', name='admin_users_bans_new'),
  139. url(r'^edit/(?P<target>\d+)/$', 'Edit', name='admin_users_bans_edit'),
  140. url(r'^delete/(?P<target>\d+)/$', 'Delete', name='admin_users_bans_delete'),
  141. ),
  142. ),
  143. AdminAction(
  144. section='users',
  145. id='prune',
  146. name=_("Prune Users"),
  147. help=_("Delete multiple Users"),
  148. icon='remove',
  149. route='admin_users_prune',
  150. urlpatterns=patterns('misago.admin.views',
  151. url(r'^$', 'todo', name='admin_users_prune'),
  152. ),
  153. ),
  154. AdminAction(
  155. section='users',
  156. id='newsletters',
  157. name=_("Newsletters"),
  158. help=_("Manage and send Newsletters"),
  159. icon='envelope',
  160. route='admin_users_newsletters',
  161. urlpatterns=patterns('misago.admin.views',
  162. url(r'^$', 'todo', name='admin_users_newsletters'),
  163. ),
  164. ),
  165. )