privatethread.py 3.5 KB

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