defaults.py 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257
  1. # pylint: disable=line-too-long
  2. """
  3. Default Misago settings. Override these with settings in the module pointed to
  4. by the DJANGO_SETTINGS_MODULE environment variable.
  5. If you rely on any of those in your code, make sure you use `misago.conf.settings`
  6. instead of Django's `django.conf.settings`.
  7. """
  8. # Permissions system extensions
  9. # https://misago.readthedocs.io/en/latest/developers/acls.html#extending-permissions-system
  10. MISAGO_ACL_EXTENSIONS = [
  11. "misago.users.permissions.account",
  12. "misago.users.permissions.profiles",
  13. "misago.users.permissions.moderation",
  14. "misago.users.permissions.delete",
  15. "misago.categories.permissions",
  16. "misago.threads.permissions.attachments",
  17. "misago.threads.permissions.polls",
  18. "misago.threads.permissions.threads",
  19. "misago.threads.permissions.privatethreads",
  20. "misago.threads.permissions.bestanswers",
  21. "misago.search.permissions",
  22. ]
  23. # Path to the directory that Misago should use to prepare user data downloads.
  24. # Should not be accessible from internet.
  25. MISAGO_USER_DATA_DOWNLOADS_WORKING_DIR = None
  26. # Custom markup extensions
  27. MISAGO_MARKUP_EXTENSIONS = []
  28. # Custom post validators
  29. MISAGO_POST_VALIDATORS = []
  30. # Post search filters
  31. MISAGO_POST_SEARCH_FILTERS = []
  32. # Posting middlewares
  33. # https://misago.readthedocs.io/en/latest/developers/posting_process.html
  34. MISAGO_POSTING_MIDDLEWARES = [
  35. # Always keep FloodProtectionMiddleware middleware first one
  36. "misago.threads.api.postingendpoint.floodprotection.FloodProtectionMiddleware",
  37. "misago.threads.api.postingendpoint.category.CategoryMiddleware",
  38. "misago.threads.api.postingendpoint.privatethread.PrivateThreadMiddleware",
  39. "misago.threads.api.postingendpoint.reply.ReplyMiddleware",
  40. "misago.threads.api.postingendpoint.moderationqueue.ModerationQueueMiddleware",
  41. "misago.threads.api.postingendpoint.attachments.AttachmentsMiddleware",
  42. "misago.threads.api.postingendpoint.participants.ParticipantsMiddleware",
  43. "misago.threads.api.postingendpoint.pin.PinMiddleware",
  44. "misago.threads.api.postingendpoint.close.CloseMiddleware",
  45. "misago.threads.api.postingendpoint.hide.HideMiddleware",
  46. "misago.threads.api.postingendpoint.protect.ProtectMiddleware",
  47. "misago.threads.api.postingendpoint.recordedit.RecordEditMiddleware",
  48. "misago.threads.api.postingendpoint.updatestats.UpdateStatsMiddleware",
  49. "misago.threads.api.postingendpoint.mentions.MentionsMiddleware",
  50. "misago.threads.api.postingendpoint.subscribe.SubscribeMiddleware",
  51. "misago.threads.api.postingendpoint.syncprivatethreads.SyncPrivateThreadsMiddleware",
  52. # Always keep SaveChangesMiddleware middleware after all state-changing middlewares
  53. "misago.threads.api.postingendpoint.savechanges.SaveChangesMiddleware",
  54. # Those middlewares are last because they don't change app state
  55. "misago.threads.api.postingendpoint.emailnotification.EmailNotificationMiddleware",
  56. ]
  57. # Configured thread types
  58. MISAGO_THREAD_TYPES = [
  59. "misago.threads.threadtypes.thread.Thread",
  60. "misago.threads.threadtypes.privatethread.PrivateThread",
  61. ]
  62. # Search extensions
  63. MISAGO_SEARCH_EXTENSIONS = [
  64. "misago.threads.search.SearchThreads",
  65. "misago.users.search.SearchUsers",
  66. ]
  67. # Additional registration validators
  68. # https://misago.readthedocs.io/en/latest/developers/validating_registrations.html
  69. MISAGO_NEW_REGISTRATIONS_VALIDATORS = [
  70. "misago.users.validators.validate_gmail_email",
  71. "misago.users.validators.validate_with_sfs",
  72. ]
  73. # Custom profile fields
  74. MISAGO_PROFILE_FIELDS = []
  75. # Login API URL
  76. MISAGO_LOGIN_API_URL = "auth"
  77. # Misago Admin Path
  78. # Omit starting and trailing slashes. To disable Misago admin, empty this value.
  79. MISAGO_ADMIN_PATH = "admincp"
  80. # Admin urls namespaces that Misago's AdminAuthMiddleware should protect
  81. MISAGO_ADMIN_NAMESPACES = ["admin", "misago:admin"]
  82. # How long (in minutes) since previous request to admin namespace should admin session last.
  83. MISAGO_ADMIN_SESSION_EXPIRATION = 60
  84. # Display threads on forum index
  85. # Change this to false to display categories list instead
  86. MISAGO_THREADS_ON_INDEX = True
  87. # Function used for generating individual avatar for user
  88. MISAGO_DYNAMIC_AVATAR_DRAWER = "misago.users.avatars.dynamic.draw_default"
  89. # Path to directory containing avatar galleries
  90. # Those galleries can be loaded by running loadavatargallery command
  91. MISAGO_AVATAR_GALLERY = None
  92. # Save user avatars for sizes
  93. # Keep sizes ordered from greatest to smallest
  94. # Max size also controls min size of uploaded image as well as crop size
  95. MISAGO_AVATARS_SIZES = [400, 200, 150, 100, 64, 50, 30]
  96. # Path to blank avatar image used for guests and removed users.
  97. MISAGO_BLANK_AVATAR = "misago/img/blank-avatar.png"
  98. # Max allowed size of image before Misago will generate thumbnail for it
  99. MISAGO_ATTACHMENT_IMAGE_SIZE_LIMIT = (500, 500)
  100. # Length of secret used for attachments url tokens and filenames
  101. MISAGO_ATTACHMENT_SECRET_LENGTH = 64
  102. # Names of files served when user requests file that doesn't exist or is unavailable
  103. MISAGO_ATTACHMENT_403_IMAGE = "misago/img/attachment-403.png"
  104. MISAGO_ATTACHMENT_404_IMAGE = "misago/img/attachment-404.png"
  105. # Available Moment.js locales
  106. MISAGO_MOMENT_JS_LOCALES = [
  107. "af",
  108. "ar-ma",
  109. "ar-sa",
  110. "ar-tn",
  111. "ar",
  112. "az",
  113. "be",
  114. "bg",
  115. "bn",
  116. "bo",
  117. "br",
  118. "bs",
  119. "ca",
  120. "cs",
  121. "cv",
  122. "cy",
  123. "da",
  124. "de-at",
  125. "de",
  126. "el",
  127. "en-au",
  128. "en-ca",
  129. "en-gb",
  130. "eo",
  131. "es",
  132. "et",
  133. "eu",
  134. "fa",
  135. "fi",
  136. "fo",
  137. "fr-ca",
  138. "fr",
  139. "fy",
  140. "gl",
  141. "he",
  142. "hi",
  143. "hr",
  144. "hu",
  145. "hy-am",
  146. "id",
  147. "is",
  148. "it",
  149. "ja",
  150. "ka",
  151. "km",
  152. "ko",
  153. "lb",
  154. "lt",
  155. "lv",
  156. "mk",
  157. "ml",
  158. "mr",
  159. "ms-my",
  160. "my",
  161. "nb",
  162. "ne",
  163. "nl",
  164. "nn",
  165. "pl",
  166. "pt-br",
  167. "pt",
  168. "ro",
  169. "ru",
  170. "sk",
  171. "sl",
  172. "sq",
  173. "sr-cyrl",
  174. "sr",
  175. "sv",
  176. "ta",
  177. "th",
  178. "tl-ph",
  179. "tr",
  180. "tzm-latn",
  181. "tzm",
  182. "uk",
  183. "uz",
  184. "vi",
  185. "zh-cn",
  186. "zh-hans",
  187. "zh-tw",
  188. ]