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)
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)
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)
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')}