Exemple #1
0
 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
Exemple #2
0
 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
Exemple #3
0
 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)
Exemple #4
0
 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)
Exemple #5
0
 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
Exemple #6
0
 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)
Exemple #7
0
 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
Exemple #8
0
 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)
Exemple #9
0
 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)
Exemple #10
0
 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)