Esempio n. 1
0
 def get_object(self, queryset=None):
     post = super(EditPostView, self).get_object(queryset)
     if not perms.may_access_post(self.request, post):
         raise PermissionDenied
     if not perms.may_edit_post(self.request.user, post):
         raise PermissionDenied
     return post
Esempio n. 2
0
 def get_redirect_url(self, **kwargs):
     post = get_object_or_404(Post, pk=self.kwargs['pk'])
     if not perms.may_access_post(self.request, self.post):
         raise PermissionDenied
     if not perms.may_moderate_topic(self.request.user, post.topic):
         raise PermissionDenied
     post.on_moderation = False
     post.save()
     return post.get_absolute_url()
Esempio n. 3
0
 def get_object(self, queryset=None):
     post = get_object_or_404(Post.objects.select_related('topic', 'topic__forum'), pk=self.kwargs['pk'])
     if not perms.may_access_post(self.request, self.post):
         raise PermissionDenied
     if not perms.may_delete_post(self.request.user, post):
         raise PermissionDenied
     self.topic = post.topic
     self.forum = post.topic.forum
     if not perms.may_moderate_topic(self.request.user, self.topic):
         raise PermissionDenied
     return post
Esempio n. 4
0
 def dispatch(self, request, *args, **kwargs):
     self.post = self.get_post(**kwargs)
     if not perms.may_access_post(self.request, self.post):
         raise PermissionDenied
     return super(PostView, self).dispatch(request, *args, **kwargs)