privatethread.py 3.5 KB

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