events.py 883 B

123456789101112131415161718192021222324252627282930313233343536
  1. from django.utils import timezone
  2. from ..readtracker import poststracker
  3. from .models import Post
  4. def record_event(request, thread, event_type, context=None, commit=True):
  5. time_now = timezone.now()
  6. event = Post.objects.create(
  7. category=thread.category,
  8. thread=thread,
  9. poster=request.user,
  10. poster_name=request.user.username,
  11. original="-",
  12. parsed="-",
  13. posted_on=time_now,
  14. updated_on=time_now,
  15. is_event=True,
  16. event_type=event_type,
  17. event_context=context,
  18. )
  19. thread.has_events = True
  20. thread.set_last_post(event)
  21. if commit:
  22. thread.save()
  23. if not (thread.is_hidden and thread.is_unapproved):
  24. thread.category.set_last_thread(thread)
  25. if commit:
  26. thread.category.save()
  27. poststracker.save_read(request.user, event)
  28. return event