Example #1
0
def post_edit(request, post_id):

    post = get_object_or_404(Post, pk=post_id)

    if not pybb_editable_by(post, request.user) \
    or request.user.pybb_profile.is_banned():
        return redirect(post)

    head_post_id = post.topic.posts.order_by('created')[0].id
    form_kwargs = dict(instance=post, initial={'title': post.topic.name})

    if post.id == head_post_id:
        form_class = EditHeadPostForm
    else:
        form_class = EditPostForm

    if request.method == 'POST':
        form = form_class(request.POST, request.FILES, **form_kwargs)
    else:
        form = form_class(**form_kwargs)

    if form.is_valid():
        post = form.save()
        return redirect(post)

    return {'form': form,
            'post': post,
            }
Example #2
0
 def get_object(self, queryset=None):
     post = super(EditPostView, self).get_object(queryset)
     if not pybb_editable_by(post, self.request.user):
         raise PermissionDenied
     return post
Example #3
0
File: views.py Project: jedie/pybbm
 def get_object(self, queryset=None):
     post = super(EditPostView, self).get_object(queryset)
     if not pybb_editable_by(post, self.request.user):
         raise PermissionDenied
     return post