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. return reverse(
  33. "misago:private-thread", kwargs={"slug": thread.slug, "pk": thread.pk}
  34. )
  35. def get_thread_last_post_url(self, thread):
  36. return reverse(
  37. "misago:private-thread-last", kwargs={"slug": thread.slug, "pk": thread.pk}
  38. )
  39. def get_thread_new_post_url(self, thread):
  40. return reverse(
  41. "misago:private-thread-new", kwargs={"slug": thread.slug, "pk": thread.pk}
  42. )
  43. def get_thread_api_url(self, thread):
  44. return reverse("misago:api:private-thread-detail", kwargs={"pk": thread.pk})
  45. def get_thread_editor_api_url(self, thread):
  46. return reverse(
  47. "misago:api:private-thread-post-editor", kwargs={"thread_pk": thread.pk}
  48. )
  49. def get_thread_posts_api_url(self, thread):
  50. return reverse(
  51. "misago:api:private-thread-post-list", kwargs={"thread_pk": thread.pk}
  52. )
  53. def get_post_merge_api_url(self, thread):
  54. return reverse(
  55. "misago:api:private-thread-post-merge", kwargs={"thread_pk": thread.pk}
  56. )
  57. def get_post_absolute_url(self, post):
  58. return reverse(
  59. "misago:private-thread-post",
  60. kwargs={"slug": post.thread.slug, "pk": post.thread.pk, "post": post.pk},
  61. )
  62. def get_post_api_url(self, post):
  63. return reverse(
  64. "misago:api:private-thread-post-detail",
  65. kwargs={"thread_pk": post.thread_id, "pk": post.pk},
  66. )
  67. def get_post_likes_api_url(self, post):
  68. return reverse(
  69. "misago:api:private-thread-post-likes",
  70. kwargs={"thread_pk": post.thread_id, "pk": post.pk},
  71. )
  72. def get_post_editor_api_url(self, post):
  73. return reverse(
  74. "misago:api:private-thread-post-editor",
  75. kwargs={"thread_pk": post.thread_id, "pk": post.pk},
  76. )
  77. def get_post_edits_api_url(self, post):
  78. return reverse(
  79. "misago:api:private-thread-post-edits",
  80. kwargs={"thread_pk": post.thread_id, "pk": post.pk},
  81. )
  82. def get_post_read_api_url(self, post):
  83. return reverse(
  84. "misago:api:private-thread-post-read",
  85. kwargs={"thread_pk": post.thread_id, "pk": post.pk},
  86. )