privatethread.py 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. from django.urls import reverse
  2. from django.utils.translation import gettext_lazy as _
  3. from misago.categories import PRIVATE_THREADS_ROOT_NAME
  4. from . import ThreadType
  5. class PrivateThread(ThreadType):
  6. root_name = PRIVATE_THREADS_ROOT_NAME
  7. def get_category_name(self, category):
  8. return _('Private threads')
  9. def get_category_absolute_url(self, category):
  10. return reverse('misago:private-threads')
  11. def get_category_last_thread_url(self, category):
  12. return reverse(
  13. 'misago:private-thread',
  14. kwargs={
  15. 'slug': category.last_thread_slug,
  16. 'pk': category.last_thread_id,
  17. }
  18. )
  19. def get_category_last_thread_new_url(self, category):
  20. return reverse(
  21. 'misago:private-thread-new',
  22. kwargs={
  23. 'slug': category.last_thread_slug,
  24. 'pk': category.last_thread_id,
  25. }
  26. )
  27. def get_category_last_post_url(self, category):
  28. return reverse(
  29. 'misago:private-thread-last',
  30. kwargs={
  31. 'slug': category.last_thread_slug,
  32. 'pk': category.last_thread_id,
  33. }
  34. )
  35. def get_thread_absolute_url(self, thread, page=1):
  36. if page > 1:
  37. return reverse(
  38. 'misago:private-thread',
  39. kwargs={
  40. 'slug': thread.slug,
  41. 'pk': thread.pk,
  42. 'page': page,
  43. }
  44. )
  45. else:
  46. return reverse(
  47. 'misago:private-thread', kwargs={
  48. 'slug': thread.slug,
  49. 'pk': thread.pk,
  50. }
  51. )
  52. def get_thread_last_post_url(self, thread):
  53. return reverse(
  54. 'misago:private-thread-last', kwargs={
  55. 'slug': thread.slug,
  56. 'pk': thread.pk,
  57. }
  58. )
  59. def get_thread_new_post_url(self, thread):
  60. return reverse(
  61. 'misago:private-thread-new', kwargs={
  62. 'slug': thread.slug,
  63. 'pk': thread.pk,
  64. }
  65. )
  66. def get_thread_api_url(self, thread):
  67. return reverse(
  68. 'misago:api:private-thread-detail', kwargs={
  69. 'pk': thread.pk,
  70. }
  71. )
  72. def get_thread_editor_api_url(self, thread):
  73. return reverse(
  74. 'misago:api:private-thread-post-editor', kwargs={
  75. 'thread_pk': thread.pk,
  76. }
  77. )
  78. def get_thread_posts_api_url(self, thread):
  79. return reverse(
  80. 'misago:api:private-thread-post-list', kwargs={
  81. 'thread_pk': thread.pk,
  82. }
  83. )
  84. def get_post_merge_api_url(self, thread):
  85. return reverse(
  86. 'misago:api:private-thread-post-merge', kwargs={
  87. 'thread_pk': thread.pk,
  88. }
  89. )
  90. def get_post_absolute_url(self, post):
  91. return reverse(
  92. 'misago:private-thread-post',
  93. kwargs={
  94. 'slug': post.thread.slug,
  95. 'pk': post.thread.pk,
  96. 'post': post.pk,
  97. }
  98. )
  99. def get_post_api_url(self, post):
  100. return reverse(
  101. 'misago:api:private-thread-post-detail',
  102. kwargs={
  103. 'thread_pk': post.thread_id,
  104. 'pk': post.pk,
  105. }
  106. )
  107. def get_post_likes_api_url(self, post):
  108. return reverse(
  109. 'misago:api:private-thread-post-likes',
  110. kwargs={
  111. 'thread_pk': post.thread_id,
  112. 'pk': post.pk,
  113. }
  114. )
  115. def get_post_editor_api_url(self, post):
  116. return reverse(
  117. 'misago:api:private-thread-post-editor',
  118. kwargs={
  119. 'thread_pk': post.thread_id,
  120. 'pk': post.pk,
  121. }
  122. )
  123. def get_post_edits_api_url(self, post):
  124. return reverse(
  125. 'misago:api:private-thread-post-edits',
  126. kwargs={
  127. 'thread_pk': post.thread_id,
  128. 'pk': post.pk,
  129. }
  130. )
  131. def get_post_read_api_url(self, post):
  132. return reverse(
  133. 'misago:api:private-thread-post-read',
  134. kwargs={
  135. 'thread_pk': post.thread_id,
  136. 'pk': post.pk,
  137. }
  138. )