events.py 830 B

12345678910111213141516171819202122232425262728293031323334
  1. from django.utils import timezone
  2. from .models import Post
  3. def record_event(request, thread, event_type, context=None, commit=True):
  4. time_now = timezone.now()
  5. event = Post.objects.create(
  6. category=thread.category,
  7. thread=thread,
  8. poster=request.user,
  9. poster_name=request.user.username,
  10. poster_ip=request.user_ip,
  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. return event