privatethread.py 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163
  1. from django.urls import reverse
  2. from django.utils.translation import ugettext_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_category_read_api_url(self, category):
  36. return reverse('misago:api:private-thread-read')
  37. def get_thread_absolute_url(self, thread, page=1):
  38. if page > 1:
  39. return reverse(
  40. 'misago:private-thread',
  41. kwargs={
  42. 'slug': thread.slug,
  43. 'pk': thread.pk,
  44. 'page': page,
  45. }
  46. )
  47. else:
  48. return reverse(
  49. 'misago:private-thread', kwargs={
  50. 'slug': thread.slug,
  51. 'pk': thread.pk,
  52. }
  53. )
  54. def get_thread_last_post_url(self, thread):
  55. return reverse(
  56. 'misago:private-thread-last', kwargs={
  57. 'slug': thread.slug,
  58. 'pk': thread.pk,
  59. }
  60. )
  61. def get_thread_new_post_url(self, thread):
  62. return reverse(
  63. 'misago:private-thread-new', kwargs={
  64. 'slug': thread.slug,
  65. 'pk': thread.pk,
  66. }
  67. )
  68. def get_thread_api_url(self, thread):
  69. return reverse(
  70. 'misago:api:private-thread-detail', kwargs={
  71. 'pk': thread.pk,
  72. }
  73. )
  74. def get_thread_editor_api_url(self, thread):
  75. return reverse(
  76. 'misago:api:private-thread-post-editor', kwargs={
  77. 'thread_pk': thread.pk,
  78. }
  79. )
  80. def get_thread_posts_api_url(self, thread):
  81. return reverse(
  82. 'misago:api:private-thread-post-list', kwargs={
  83. 'thread_pk': thread.pk,
  84. }
  85. )
  86. def get_post_merge_api_url(self, thread):
  87. return reverse(
  88. 'misago:api:private-thread-post-merge', kwargs={
  89. 'thread_pk': thread.pk,
  90. }
  91. )
  92. def get_post_absolute_url(self, post):
  93. return reverse(
  94. 'misago:private-thread-post',
  95. kwargs={
  96. 'slug': post.thread.slug,
  97. 'pk': post.thread.pk,
  98. 'post': post.pk,
  99. }
  100. )
  101. def get_post_api_url(self, post):
  102. return reverse(
  103. 'misago:api:private-thread-post-detail',
  104. kwargs={
  105. 'thread_pk': post.thread_id,
  106. 'pk': post.pk,
  107. }
  108. )
  109. def get_post_likes_api_url(self, post):
  110. return reverse(
  111. 'misago:api:private-thread-post-likes',
  112. kwargs={
  113. 'thread_pk': post.thread_id,
  114. 'pk': post.pk,
  115. }
  116. )
  117. def get_post_editor_api_url(self, post):
  118. return reverse(
  119. 'misago:api:private-thread-post-editor',
  120. kwargs={
  121. 'thread_pk': post.thread_id,
  122. 'pk': post.pk,
  123. }
  124. )
  125. def get_post_edits_api_url(self, post):
  126. return reverse(
  127. 'misago:api:private-thread-post-edits',
  128. kwargs={
  129. 'thread_pk': post.thread_id,
  130. 'pk': post.pk,
  131. }
  132. )
  133. def get_post_read_api_url(self, post):
  134. return reverse(
  135. 'misago:api:private-thread-post-read',
  136. kwargs={
  137. 'thread_pk': post.thread_id,
  138. 'pk': post.pk,
  139. }
  140. )