def get_context_data(self, **kwargs): context = super(ForumsView, self).get_context_data(**kwargs) self.public_forums = [] self.users_forums = [] self.groups_forums = [] if ENABLE_PRIVATE_FORUMS is True: all_forums = Forum.objects.filter(is_active=True).prefetch_related('topics', 'authorized_groups') for forum in all_forums: if user_can_see_forum(forum, self.request.user) is True: if forum.is_restricted_to_groups is True: self.groups_forums += [forum] else: if forum.is_public is True: self.public_forums += [forum] else: self.users_forums += [forum] else: self.public_forums = Forum.objects.filter(is_active=True).prefetch_related('topics') is_moderator = user_is_moderator(self.request.user) if is_moderator: event_classes = ['Forum post'] model = Post context['num_items_in_queue'] = MEvent.objects.count_for_model(model, event_classes) context['public_forums'] = self.public_forums context['users_forums'] = self.users_forums context['groups_forums'] = self.groups_forums context['is_moderator'] = is_moderator return context
def get_context_data(self, **kwargs): context = super(ForumsView, self).get_context_data(**kwargs) self.public_forums = [] self.users_forums = [] self.groups_forums = [] if ENABLE_PRIVATE_FORUMS is True: all_forums = Forum.objects.filter(is_active=True).prefetch_related( 'topics', 'authorized_groups') for forum in all_forums: if user_can_see_forum(forum, self.request.user) is True: if forum.is_restricted_to_groups is True: self.groups_forums += [forum] else: if forum.is_public is True: self.public_forums += [forum] else: self.users_forums += [forum] else: self.public_forums = Forum.objects.filter( is_active=True).prefetch_related('topics') is_moderator = user_is_moderator(self.request.user) if is_moderator: event_classes = ['Forum post'] model = Post context['num_items_in_queue'] = MEvent.objects.count_for_model( model, event_classes) context['public_forums'] = self.public_forums context['users_forums'] = self.users_forums context['groups_forums'] = self.groups_forums context['is_moderator'] = is_moderator return context
def dispatch(self, request, *args, **kwargs): if ENABLE_PRIVATE_FORUMS: self.forum = get_object_or_404(Forum.objects.prefetch_related('authorized_groups'), is_active=True, pk=self.kwargs['forum_pk']) user_can_see_forum_ = user_can_see_forum(self.forum, request.user) if not user_can_see_forum_: MEvent.objects.create( name='Forum unauthorized access: forum '+str(self.forum.pk), instance=self.forum, event_class="Warning", user = request.user, request = request, ) raise Http404 else: self.forum = get_object_or_404(Forum, is_active=True, pk=self.kwargs['forum_pk']) return super(ForumView, self).dispatch(request, *args, **kwargs)
def dispatch(self, request, *args, **kwargs): if ENABLE_PRIVATE_FORUMS: self.topic = get_object_or_404(Topic.objects.prefetch_related('forum__authorized_groups'), is_active=True, pk=self.kwargs['topic_pk']) self.forum = self.topic.forum user_can_see_forum_ = user_can_see_forum(self.forum, request.user) if not user_can_see_forum_: MEvent.objects.create( name='Forum unauthorized access: view topic', instance=self.topic, event_class="Warning", user = request.user, request = request, ) raise Http404 else: self.topic = get_object_or_404(Topic.objects.select_related('forum'), is_active=True, pk=self.kwargs['topic_pk']) self.forum = self.topic.forum return super(TopicView, self).dispatch(request, *args, **kwargs)
def get_context_data(self, **kwargs): context = super(ForumsView, self).get_context_data(**kwargs) if ENABLE_PRIVATE_FORUMS: all_forums = Forum.objects.filter(status=0).prefetch_related('topics', 'authorized_groups') visible_forums = [] for forum in all_forums: if user_can_see_forum(forum, self.request.user): visible_forums += [forum] else: visible_forums = all_forums = Forum.objects.filter(status=0).prefetch_related('topics') is_moderator = user_is_moderator(self.request.user) if is_moderator: event_classes = ['Forum post'] model = Post context['num_items_in_queue'] = MEvent.objects.count_for_model(model, event_classes) context['forums'] = visible_forums context['is_moderator'] = is_moderator return context
def dispatch(self, request, *args, **kwargs): if ENABLE_PRIVATE_FORUMS: self.topic = get_object_or_404(Topic.objects.select_related('forum'), pk=self.kwargs['topic_pk']) if self.topic.is_closed: raise Http404 self.forum = self.topic.forum user_can_see_forum_ = user_can_see_forum(self.forum, request.user) if not user_can_see_forum_: MEvent.objects.create( name='Forum unauthorized access: create post', instance=self.forum, event_class="Warning", user = request.user, request = request, ) raise Http404 else: self.topic = get_object_or_404(Topic.objects.select_related('forum'), pk=self.kwargs['topic_pk']) self.forum = self.topic.forum return super(AddPostView, self).dispatch(request, *args, **kwargs)
def get_context_data(self, **kwargs): context = super(ForumsView, self).get_context_data(**kwargs) if ENABLE_PRIVATE_FORUMS: all_forums = Forum.objects.filter(status=0).prefetch_related( 'topics', 'authorized_groups') visible_forums = [] for forum in all_forums: if user_can_see_forum(forum, self.request.user): visible_forums += [forum] else: visible_forums = all_forums = Forum.objects.filter( status=0).prefetch_related('topics') is_moderator = user_is_moderator(self.request.user) if is_moderator: event_classes = ['Forum post'] model = Post context['num_items_in_queue'] = MEvent.objects.count_for_model( model, event_classes) context['forums'] = visible_forums context['is_moderator'] = is_moderator return context
def dispatch(self, request, *args, **kwargs): if ENABLE_PRIVATE_FORUMS: self.forum = get_object_or_404( Forum.objects.prefetch_related('authorized_groups'), status=0, pk=self.kwargs['forum_pk']) user_can_see_forum_ = user_can_see_forum(self.forum, request.user) if not user_can_see_forum_: MEvent.objects.create( name='Forum unauthorized access: create topic', instance=self.forum, event_class="Warning", user=request.user, request=request, ) raise Http404 else: self.forum = get_object_or_404(Forum, status=0, pk=self.kwargs['forum_pk']) return super(AddTopicView, self).dispatch(request, *args, **kwargs)
def dispatch(self, request, *args, **kwargs): if ENABLE_PRIVATE_FORUMS: self.topic = get_object_or_404( Topic.objects.select_related('forum'), pk=self.kwargs['topic_pk']) if self.topic.is_closed: raise Http404 self.forum = self.topic.forum user_can_see_forum_ = user_can_see_forum(self.forum, request.user) if not user_can_see_forum_: MEvent.objects.create( name='Forum unauthorized access: create post', instance=self.forum, event_class="Warning", user=request.user, request=request, ) raise Http404 else: self.topic = get_object_or_404( Topic.objects.select_related('forum'), pk=self.kwargs['topic_pk']) self.forum = self.topic.forum return super(AddPostView, self).dispatch(request, *args, **kwargs)
def dispatch(self, request, *args, **kwargs): if ENABLE_PRIVATE_FORUMS: self.topic = get_object_or_404( Topic.objects.prefetch_related('forum__authorized_groups'), is_active=True, pk=self.kwargs['topic_pk']) self.forum = self.topic.forum user_can_see_forum_ = user_can_see_forum(self.forum, request.user) if not user_can_see_forum_: MEvent.objects.create( name='Forum unauthorized access: view topic', instance=self.topic, event_class="Warning", user=request.user, request=request, ) raise Http404 else: self.topic = get_object_or_404( Topic.objects.select_related('forum'), is_active=True, pk=self.kwargs['topic_pk']) self.forum = self.topic.forum return super(TopicView, self).dispatch(request, *args, **kwargs)