privatethread.py 3.5 KB

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