fixtures.py 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. from misago.monitor.fixtures import load_monitor_fixture
  2. from misago.settings.fixtures import load_settings_fixture
  3. from misago.users.models import Rank, Group
  4. from misago.utils import ugettext_lazy as _
  5. from misago.utils import get_msgid
  6. monitor_fixtures = {
  7. 'users': 0,
  8. 'users_inactive': 0,
  9. 'users_reported': 0,
  10. 'last_user': None,
  11. 'last_user_name': None,
  12. 'last_user_slug': None,
  13. }
  14. settings_fixtures = (
  15. # Avatars Settings
  16. ('avatars', {
  17. 'name': _("Users Avatars Settings"),
  18. 'description': _("Those settings allow you to control your users avatars."),
  19. 'settings': (
  20. ('avatars_types', {
  21. 'value': ['gravatar', 'gallery'],
  22. 'type': "array",
  23. 'input': "mlist",
  24. 'extra': {'choices': [('gravatar', _("Gravatar")), ('upload', _("Uploaded Avatar")), ('gallery', _("Avatars Gallery"))]},
  25. 'separator': _("General Settings"),
  26. 'name': _("Allowed Avatars"),
  27. 'description': _("Select Avatar types allowed on your forum."),
  28. }),
  29. ('default_avatar', {
  30. 'value': "gravatar",
  31. 'type': "string",
  32. 'input': "select",
  33. 'extra': {'choices': [('gravatar', _("Gravatar")), ('gallery', _("Random Avatar from Gallery"))]},
  34. 'name': _("Default Avatar"),
  35. 'description': _("Default Avatar assigned to new members. If you creade directory and name it \"_default\", forum will select random avatar from that directory instead of regular gallery. If no avatar can be picked from gallery, Gravatar will be used."),
  36. }),
  37. ('upload_limit', {
  38. 'value': 128,
  39. 'type': "integer",
  40. 'input': "text",
  41. 'extra': {'min': 0},
  42. 'separator': _("Avatar Upload Settings"),
  43. 'name': _("Maxmimum size of uploaded file"),
  44. 'description': _("Select maximum allowed file size (in KB) for Avatar uploads."),
  45. }),
  46. ),
  47. }),
  48. )
  49. def load_fixture():
  50. load_monitor_fixture(monitor_fixtures)
  51. load_settings_fixture(settings_fixtures)
  52. rank_staff = Rank(
  53. name=_("Forum Staff").message,
  54. style='staff',
  55. title=_("Forum Staff").message,
  56. special=True,
  57. order=1,
  58. )
  59. rank_guest = Rank(
  60. name=_("Unregistered").message,
  61. style='guest',
  62. title=_("Guest").message,
  63. special=True,
  64. order=2,
  65. )
  66. rank_lurker = Rank(
  67. name=_("Lurker").message,
  68. style='lurker',
  69. title=_("Lurker").message,
  70. order=3,
  71. criteria=0
  72. )
  73. rank_member = Rank(
  74. name=_("Member").message,
  75. title=_("Member").message,
  76. order=4,
  77. criteria=">15"
  78. )
  79. rank_active = Rank(
  80. name=_("Active Member").message,
  81. title=_("Active Member").message,
  82. order=5,
  83. criteria="15%"
  84. )
  85. rank_staff.save(force_insert=True)
  86. rank_guest.save(force_insert=True)
  87. rank_lurker.save(force_insert=True)
  88. rank_member.save(force_insert=True)
  89. rank_active.save(force_insert=True)
  90. group_admins = Group(
  91. name=_("Administrators").message,
  92. name_slug='administrators',
  93. tab=_("Staff").message,
  94. position=1,
  95. rank=rank_staff,
  96. special=True,
  97. )
  98. group_mods = Group(
  99. name=_("Moderators").message,
  100. name_slug='moderators',
  101. tab=_("Staff").message,
  102. position=2,
  103. rank=rank_staff,
  104. )
  105. group_registered = Group(
  106. name=_("Registered").message,
  107. name_slug='registered',
  108. hidden=True,
  109. position=3,
  110. special=True,
  111. )
  112. group_guests = Group(
  113. name=_("Guests").message,
  114. name_slug='guests',
  115. hidden=True,
  116. position=4,
  117. rank=rank_guest,
  118. special=True,
  119. )
  120. group_crawlers = Group(
  121. name=_("Web Crawlers").message,
  122. name_slug='web-crawlers',
  123. hidden=True,
  124. position=5,
  125. rank=rank_guest,
  126. special=True,
  127. )
  128. group_admins.save(force_insert=True)
  129. group_mods.save(force_insert=True)
  130. group_registered.save(force_insert=True)
  131. group_guests.save(force_insert=True)
  132. group_crawlers.save(force_insert=True)