participants.py 700 B

1234567891011121314151617181920
  1. from misago.categories.models import PRIVATE_THREADS_ROOT_NAME
  2. from . import PostingEndpoint, PostingMiddleware
  3. from ...participants import add_owner, add_participant
  4. class ThreadParticipantsFormMiddleware(PostingMiddleware):
  5. def use_this_middleware(self):
  6. if self.tree_name == PRIVATE_THREADS_ROOT_NAME:
  7. return self.mode == PostingEndpoint.START
  8. else:
  9. return False
  10. def make_form(self):
  11. return ThreadParticipantsForm(self.request.POST, user=self.request.user)
  12. def save(self, serializer):
  13. add_owner(self.thread, self.user)
  14. for user in serializer.users_cache:
  15. add_participant(self.request, self.thread, user)