def check_forum_permissions(self, request, forum): if forum.special_role: raise Http404() add_acl(request.user, forum) allow_see_forum(request.user, forum) allow_browse_forum(request.user, forum)
def clean(self): data = super(MovePostsForm, self).clean() new_thread_url = data.get('new_thread_url') try: if not new_thread_url: raise Http404() resolution = resolve(urlparse(new_thread_url).path) if not 'thread_id' in resolution.kwargs: raise Http404() queryset = Thread.objects.select_related('forum') self.new_thread = queryset.get(id=resolution.kwargs['thread_id']) add_acl(self.user, self.new_thread.forum) add_acl(self.user, self.new_thread) allow_see_forum(self.user, self.new_thread.forum) allow_browse_forum(self.user, self.new_thread.forum) allow_see_thread(self.user, self.new_thread) except (Http404, Thread.DoesNotExist): message = _("You have to enter valid link to thread.") raise forms.ValidationError(message) if self.thread == self.new_thread: message = _("New thread is same as current one.") raise forms.ValidationError(message) if self.new_thread.forum.special_role: message = _("You can't move posts to special threads.") raise forms.ValidationError(message) return data
def decorator(request, forum_slug, forum_id): allow_see_forum(request.user, forum_id) forums = Forum.objects.all_forums() forum = get_object_or_404(forums, pk=forum_id, role=role) validate_slug(forum, forum_slug) return f(request, forum)
def check_post_permissions(self, request, post): add_acl(request.user, post.forum) add_acl(request.user, post.thread) add_acl(request.user, post) allow_see_post(request.user, post) allow_see_thread(request.user, post.thread) allow_see_forum(request.user, post.forum)
def check_thread_permissions(self, request, thread): if thread.forum.special_role: raise Http404() add_acl(request.user, thread.forum) add_acl(request.user, thread) allow_see_thread(request.user, thread) allow_see_forum(request.user, thread.forum)
def check_post_permissions(self, request, post): if post.forum.special_role: raise Http404() add_acl(request.user, post.forum) add_acl(request.user, post.thread) add_acl(request.user, post) allow_see_post(request.user, post) allow_see_thread(request.user, post.thread) allow_see_forum(request.user, post.forum)
def check_forum_permissions(self, request, forum): add_acl(request.user, forum) allow_see_forum(request.user, forum) allow_browse_forum(request.user, forum)
def check_thread_permissions(self, request, thread): add_acl(request.user, thread.forum) add_acl(request.user, thread) allow_see_thread(request.user, thread) allow_see_forum(request.user, thread.forum)