Example #1
0
    def post(self, request, *args, **kwargs):
        key = kwargs.get('post_key')
        post = Post.get(key)
        if post is None:
            raise Http404

        form = PostForm(request.POST, request=request, instance=post)
        if form.is_valid():
            post = form.save(commit=True)

            if post.title:
                msg = "Blog post %s have been edited" % post.title
                msg += post.published and " and published" or "."
            else:
                msg = "Blog post have been edited."

            next = form.cleaned_data.get('next')
            if next == 'dashboard' or not next:
                messages.info(request, msg)
                return HttpResponseRedirect(reverse('post_dashboard'))
            if next == 'here':
                messages.info(request, msg)
                return HttpResponseRedirect(reverse('edit_post', kwargs={'post_key': str(post.key())}))
            if next == 'preview':
                return HttpResponseRedirect(reverse('preview_post', kwargs={'post_key': str(post.key())}))
        else:
            ctx = RequestContext(request)
            ctx['form'] = form
            ctx['post'] = post
        return render_to_response(self.template_name, {}, context_instance=ctx)
Example #2
0
    def get(self, request, *args, **kwargs):
        post_key = kwargs.get('post_key')
        ctx = RequestContext(request)
        query = Post.get(post_key)
        if not query:
            raise Http404
        ctx['post'] = query

        return render_to_response('posts/show_post.html', {}, context_instance=ctx)
Example #3
0
 def get(self, request, *args, **kwargs):
     key = kwargs.get('post_key')
     post = Post.get(key)
     if post is None:
         raise Http404
     form = PostForm(request=request, instance=post)
     ctx = RequestContext(request)
     ctx['form'] = form
     ctx['post'] = post
     return render_to_response(self.template_name, {}, context_instance=ctx)
Example #4
0
def delete_post(request, post_key=None):
    if request.method != 'POST':
        return {'status': 'error', 'msg': 'only_post', 'code': 405}
    if post_key is None:
        return {'status': 'error', 'msg': 'post_id_not_provided', 'code': 400}

    post = Post.get(post_key)
    if post is None:
        return {'status': 'error', 'msg': 'post_not_found', 'code': 404}
    post.delete()
    return {'status': 'OK', 'msg': reverse('post_dashboard')}