forums.py 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. from django.utils import timezone
  2. from misago.models import Forum, Thread, Post
  3. from misago.utils.fixtures import load_monitor_fixture, update_monitor_fixture
  4. from misago.utils.strings import slugify
  5. monitor_fixture = {
  6. 'threads': (1, 'int'),
  7. 'posts': (1, 'int'),
  8. }
  9. def load():
  10. Forum(special='private_threads', name='private', slug='private', type='forum').insert_at(None, save=True)
  11. Forum(special='reports', name='reports', slug='reports', type='forum').insert_at(None, save=True)
  12. root = Forum(special='root', name='root', slug='root')
  13. root.insert_at(None, save=True)
  14. cat = Forum(type='category', name='First Category', slug='first-category')
  15. cat.insert_at(root, save=True)
  16. forum = Forum(type='forum', name='First Forum', slug='first-forum', threads=1, posts=1)
  17. forum.insert_at(cat, save=True)
  18. Forum(type='redirect', name='Project Homepage', slug='project-homepage', redirect='http://misago-project.org').insert_at(cat, position='last-child', save=True)
  19. Forum.objects.populate_tree(True)
  20. now = timezone.now()
  21. thread = Thread.objects.create(
  22. forum=forum,
  23. name='Welcome to Misago!',
  24. slug=slugify('Welcome to Misago!'),
  25. start=now,
  26. last=now,
  27. )
  28. post = Post.objects.create(
  29. forum=forum,
  30. thread=thread,
  31. user_name='MisagoProject',
  32. ip='127.0.0.1',
  33. agent='',
  34. post='Welcome to Misago!',
  35. post_preparsed='Welcome to Misago!',
  36. date=now,
  37. current_date=now,
  38. )
  39. thread.start_post = post
  40. thread.start_poster_name = 'MisagoProject'
  41. thread.start_poster_slug = 'misagoproject'
  42. thread.last_post = post
  43. thread.last_poster_name = 'MisagoProject'
  44. thread.last_poster_slug = 'misagoproject'
  45. thread.save(force_update=True)
  46. forum.last_thread = thread
  47. forum.last_thread_name = thread.name
  48. forum.last_thread_slug = thread.slug
  49. forum.last_thread_date = thread.last
  50. forum.last_poster = thread.last_poster
  51. forum.last_poster_name = thread.last_poster_name
  52. forum.last_poster_slug = thread.last_poster_slug
  53. forum.save(force_update=True)
  54. load_monitor_fixture(monitor_fixture)
  55. def update():
  56. update_monitor_fixture(monitor_fixture)