Ejemplo n.º 1
0
def post_delete(request, object_id):
    post = get_object_or_404(Post, pk=object_id)
    redirect_to = post.blog.get_absolute_url()
    if not post.can_edit(request.user):
        messages.error(request, _(u"You can't delete posts that aren't yours"))
    else:
        post.delete()

    return redirect(redirect_to)
Ejemplo n.º 2
0
def post_change_status(request, action, object_id):
    post = get_object_or_404(Post, pk=object_id)
    if not post.can_edit(request.user):
        messages.error(request, _(u"You can't change status of post that isn't your"))
    else:
        if action == 'draft' and post.status == Post.IS_PUBLIC:
            post.status = Post.IS_DRAFT
        if action == 'public' and post.status == Post.IS_DRAFT:
            post.status = Post.IS_PUBLIC
            post_published.send(sender=Post, post=post)
        post.save()
        messages.success(request, _(u"Successfully change status for post '%s'") % post.title)

    next = request.GET.get('next', post.blog.get_absolute_url())

    return safe_redirect(next, request)
Ejemplo n.º 3
0
def post_edit(request, object_id, form_class=PostForm, template_name="socialblog/post_edit.html"):
    post = get_object_or_404(Post, pk=object_id)
    if not post.can_edit(request.user):
        messages.error(request, _(u"You can't edit posts that aren't yours"))
        return redirect(post.blog.get_absolute_url())

    post_form = form_class(request, instance=post)
    if request.method == "POST" and post_form.is_valid():
        post = post_form.save(commit=False)
        post.updated = utcnow()
        post.save()

        messages.success(request, _(u"Successfully updated post '%s'") % post.title)

        return redirect(post.get_absolute_url())

    return TemplateResponse(request, template_name, {"post_form": post_form, "post": post})