privatethread.py 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  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_post_url(self, category):
  20. return reverse(
  21. 'misago:private-thread-last',
  22. kwargs={
  23. 'slug': category.last_thread_slug,
  24. 'pk': category.last_thread_id,
  25. }
  26. )
  27. def get_category_read_api_url(self, category):
  28. return reverse('misago:api:private-thread-read')
  29. def get_thread_absolute_url(self, thread, page=1):
  30. if page > 1:
  31. return reverse(
  32. 'misago:private-thread',
  33. kwargs={
  34. 'slug': thread.slug,
  35. 'pk': thread.pk,
  36. 'page': page,
  37. }
  38. )
  39. else:
  40. return reverse(
  41. 'misago:private-thread', kwargs={
  42. 'slug': thread.slug,
  43. 'pk': thread.pk,
  44. }
  45. )
  46. def get_thread_last_post_url(self, thread):
  47. return reverse(
  48. 'misago:private-thread-last', kwargs={
  49. 'slug': thread.slug,
  50. 'pk': thread.pk,
  51. }
  52. )
  53. def get_thread_new_post_url(self, thread):
  54. return reverse(
  55. 'misago:private-thread-new', kwargs={
  56. 'slug': thread.slug,
  57. 'pk': thread.pk,
  58. }
  59. )
  60. def get_thread_api_url(self, thread):
  61. return reverse(
  62. 'misago:api:private-thread-detail', kwargs={
  63. 'pk': thread.pk,
  64. }
  65. )
  66. def get_thread_editor_api_url(self, thread):
  67. return reverse(
  68. 'misago:api:private-thread-post-editor', kwargs={
  69. 'thread_pk': thread.pk,
  70. }
  71. )
  72. def get_thread_posts_api_url(self, thread):
  73. return reverse(
  74. 'misago:api:private-thread-post-list', kwargs={
  75. 'thread_pk': thread.pk,
  76. }
  77. )
  78. def get_post_merge_api_url(self, thread):
  79. return reverse(
  80. 'misago:api:private-thread-post-merge', kwargs={
  81. 'thread_pk': thread.pk,
  82. }
  83. )
  84. def get_post_absolute_url(self, post):
  85. return reverse(
  86. 'misago:private-thread-post',
  87. kwargs={
  88. 'slug': post.thread.slug,
  89. 'pk': post.thread.pk,
  90. 'post': post.pk,
  91. }
  92. )
  93. def get_post_api_url(self, post):
  94. return reverse(
  95. 'misago:api:private-thread-post-detail',
  96. kwargs={
  97. 'thread_pk': post.thread_id,
  98. 'pk': post.pk,
  99. }
  100. )
  101. def get_post_likes_api_url(self, post):
  102. return reverse(
  103. 'misago:api:private-thread-post-likes',
  104. kwargs={
  105. 'thread_pk': post.thread_id,
  106. 'pk': post.pk,
  107. }
  108. )
  109. def get_post_editor_api_url(self, post):
  110. return reverse(
  111. 'misago:api:private-thread-post-editor',
  112. kwargs={
  113. 'thread_pk': post.thread_id,
  114. 'pk': post.pk,
  115. }
  116. )
  117. def get_post_edits_api_url(self, post):
  118. return reverse(
  119. 'misago:api:private-thread-post-edits',
  120. kwargs={
  121. 'thread_pk': post.thread_id,
  122. 'pk': post.pk,
  123. }
  124. )
  125. def get_post_read_api_url(self, post):
  126. return reverse(
  127. 'misago:api:private-thread-post-read',
  128. kwargs={
  129. 'thread_pk': post.thread_id,
  130. 'pk': post.pk,
  131. }
  132. )