__init__.py 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. from django.urls import include, path
  2. from ...core.views import home_redirect
  3. from ..views import (
  4. activation,
  5. auth,
  6. avatarserver,
  7. forgottenpassword,
  8. lists,
  9. options,
  10. profile,
  11. )
  12. urlpatterns = [
  13. path("banned/", home_redirect, name="banned"),
  14. path("login/", auth.login, name="login"),
  15. path("logout/", auth.logout, name="logout"),
  16. path(
  17. "request-activation/",
  18. activation.request_activation,
  19. name="request-activation",
  20. ),
  21. path(
  22. "activation/<int:pk>/<slug:token>/",
  23. activation.activate_by_token,
  24. name="activate-by-token",
  25. ),
  26. path(
  27. "forgotten-password/",
  28. forgottenpassword.request_reset,
  29. name="forgotten-password",
  30. ),
  31. path(
  32. "forgotten-password/<int:pk>/<slug:token>/",
  33. forgottenpassword.reset_password_form,
  34. name="forgotten-password-change-form",
  35. ),
  36. ]
  37. urlpatterns += [
  38. path("options/", options.index, name="options"),
  39. path("options/<slug:form_name>/", options.index, name="options-form"),
  40. path("options/forum-options/", options.index, name="usercp-change-forum-options"),
  41. path("options/edit-details/", options.index, name="usercp-edit-details"),
  42. path("options/change-username/", options.index, name="usercp-change-username"),
  43. path(
  44. "options/sign-in-credentials/",
  45. options.index,
  46. name="usercp-change-email-password",
  47. ),
  48. path(
  49. "options/change-email/<slug:token>/",
  50. options.confirm_email_change,
  51. name="options-confirm-email-change",
  52. ),
  53. path(
  54. "options/change-password/<slug:token>/",
  55. options.confirm_password_change,
  56. name="options-confirm-password-change",
  57. ),
  58. path("options/dowload-data/", options.index, name="usercp-download-data"),
  59. path("options/delete-account/", options.index, name="usercp-delete-account"),
  60. ]
  61. urlpatterns += [
  62. path(
  63. "users/",
  64. include(
  65. [
  66. path("", lists.landing, name="users"),
  67. path(
  68. "active-posters/",
  69. lists.ActivePostersView.as_view(),
  70. name="users-active-posters",
  71. ),
  72. path(
  73. "<slug:slug>/",
  74. lists.RankUsersView.as_view(),
  75. name="users-rank",
  76. ),
  77. path(
  78. "<slug:slug>/<int:page>/",
  79. lists.RankUsersView.as_view(),
  80. name="users-rank",
  81. ),
  82. ]
  83. ),
  84. )
  85. ]
  86. urlpatterns += [
  87. path(
  88. "u/<slug:slug>/<int:pk>/",
  89. include(
  90. [
  91. path("", profile.LandingView.as_view(), name="user"),
  92. path("posts/", profile.UserPostsView.as_view(), name="user-posts"),
  93. path(
  94. "threads/",
  95. profile.UserThreadsView.as_view(),
  96. name="user-threads",
  97. ),
  98. path(
  99. "followers/",
  100. profile.UserFollowersView.as_view(),
  101. name="user-followers",
  102. ),
  103. path(
  104. "follows/",
  105. profile.UserFollowsView.as_view(),
  106. name="user-follows",
  107. ),
  108. path(
  109. "details/",
  110. profile.UserProfileDetailsView.as_view(),
  111. name="user-details",
  112. ),
  113. path(
  114. "username-history/",
  115. profile.UserUsernameHistoryView.as_view(),
  116. name="username-history",
  117. ),
  118. path("ban-details/", profile.UserBanView.as_view(), name="user-ban"),
  119. ]
  120. ),
  121. )
  122. ]
  123. urlpatterns += [
  124. path("avatar/", avatarserver.blank_avatar, name="blank-avatar"),
  125. path(
  126. "avatar/<int:pk>/<int:size>/",
  127. avatarserver.user_avatar,
  128. name="user-avatar",
  129. ),
  130. ]