privatethread.py 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. from django.urls import reverse
  2. from django.utils.translation import ugettext_lazy as _
  3. from misago.categories.models 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('misago:private-thread', kwargs={
  13. 'slug': category.last_thread_slug,
  14. 'pk': category.last_thread_id
  15. })
  16. def get_category_last_post_url(self, category):
  17. return reverse('misago:private-thread-last', kwargs={
  18. 'slug': category.last_thread_slug,
  19. 'pk': category.last_thread_id
  20. })
  21. def get_category_read_api_url(self, category):
  22. return reverse('misago:api:category-read', kwargs={
  23. 'pk': category.pk
  24. })
  25. def get_thread_absolute_url(self, thread, page=1):
  26. if page > 1:
  27. return reverse('misago:private-thread', kwargs={
  28. 'slug': thread.slug,
  29. 'pk': thread.pk,
  30. 'page': page
  31. })
  32. else:
  33. return reverse('misago:private-thread', kwargs={
  34. 'slug': thread.slug,
  35. 'pk': thread.pk
  36. })
  37. def get_thread_last_post_url(self, thread):
  38. return reverse('misago:private-thread-last', kwargs={
  39. 'slug': thread.slug,
  40. 'pk': thread.pk
  41. })
  42. def get_thread_new_post_url(self, thread):
  43. return reverse('misago:private-thread-new', kwargs={
  44. 'slug': thread.slug,
  45. 'pk': thread.pk
  46. })
  47. def get_thread_api_url(self, thread):
  48. return reverse('misago:api:private-thread-detail', kwargs={
  49. 'pk': thread.pk
  50. })
  51. def get_thread_editor_api_url(self, thread):
  52. return reverse('misago:api:private-thread-post-editor', kwargs={
  53. 'thread_pk': thread.pk
  54. })
  55. def get_thread_posts_api_url(self, thread):
  56. return reverse('misago:api:private-thread-post-list', kwargs={
  57. 'thread_pk': thread.pk
  58. })
  59. def get_post_merge_api_url(self, thread):
  60. return reverse('misago:api:private-thread-post-merge', kwargs={
  61. 'thread_pk': thread.pk
  62. })
  63. def get_post_absolute_url(self, post):
  64. return reverse('misago:private-thread-post', kwargs={
  65. 'slug': post.thread.slug,
  66. 'pk': post.thread.pk,
  67. 'post': post.pk
  68. })
  69. def get_post_api_url(self, post):
  70. return reverse('misago:api:private-thread-post-detail', kwargs={
  71. 'thread_pk': post.thread_id,
  72. 'pk': post.pk
  73. })
  74. def get_post_likes_api_url(self, post):
  75. return reverse('misago:api:private-thread-post-likes', kwargs={
  76. 'thread_pk': post.thread_id,
  77. 'pk': post.pk
  78. })
  79. def get_post_editor_api_url(self, post):
  80. return reverse('misago:api:private-thread-post-editor', kwargs={
  81. 'thread_pk': post.thread_id,
  82. 'pk': post.pk
  83. })
  84. def get_post_edits_api_url(self, post):
  85. return reverse('misago:api:private-thread-post-edits', kwargs={
  86. 'thread_pk': post.thread_id,
  87. 'pk': post.pk
  88. })
  89. def get_post_read_api_url(self, post):
  90. return reverse('misago:api:private-thread-post-read', kwargs={
  91. 'thread_pk': post.thread_id,
  92. 'pk': post.pk
  93. })