class BlogCommentEdit(TemplateView): template_name = None def get(self,request,*args,**kwargs): self.template_name = get_small_template("blog/comment/edit.html", request.user, request.META['HTTP_USER_AGENT']) self.comment = BlogComment.objects.get(pk=self.kwargs["pk"]) return super(BlogCommentEdit,self).get(request,*args,**kwargs) def get_context_data(self,**kwargs): from blog.forms import BlogCommentForm context = super(BlogCommentEdit,self).get_context_data(**kwargs) context["comment"] = self.comment context["form_post"] = BlogCommentForm(instance=self.comment) return context def post(self,request,*args,**kwargs): from common.templates import render_for_platform from blog.forms import BlogCommentForm self.comment = BlogComment.objects.get(pk=self.kwargs["pk"]) self.form = BlogCommentForm(request.POST,instance=self.comment) if request.is_ajax() and self.form.is_valid(): _comment = self.form.save(commit=False) new_comment = _comment.edit_comment(text=_comment.text, attach = request.POST.getlist("attach_items")) if self.comment.parent: return render_for_platform(request, 'blog/comment/reply.html',{'reply': self.comment}) else: return render_for_platform(request, 'blog/comment/parent.html',{'comment': self.comment}) else: return HttpResponseBadRequest() return super(BlogCommentEdit,self).get(request,*args,**kwargs)
def post(self,request,*args,**kwargs): from common.templates import render_for_platform from blog.forms import BlogCommentForm self.comment = BlogComment.objects.get(pk=self.kwargs["pk"]) self.form = BlogCommentForm(request.POST,instance=self.comment) if request.is_ajax() and self.form.is_valid(): _comment = self.form.save(commit=False) new_comment = _comment.edit_comment(text=_comment.text, attach = request.POST.getlist("attach_items")) if self.comment.parent: return render_for_platform(request, 'blog/comment/reply.html',{'reply': self.comment}) else: return render_for_platform(request, 'blog/comment/parent.html',{'comment': self.comment}) else: return HttpResponseBadRequest() return super(BlogCommentEdit,self).get(request,*args,**kwargs)
def get_context_data(self,**kwargs): from blog.forms import BlogCommentForm context = super(BlogCommentEdit,self).get_context_data(**kwargs) context["comment"] = self.comment context["form_post"] = BlogCommentForm(instance=self.comment) return context
def blogdetail(request,id): all_comments = BlogCommentModel.objects.all() #all_comments = all_comments.order_by("-timestamp")[0:5] blog = BlogModel.objects.get(id = id) comments = BlogCommentModel.objects.filter(blog = id) form = BlogCommentForm(request.POST or None) if request.method=="POST": if form.is_valid(): form.instance.user = request.user form.instance.blog = blog form.instance.timestamp = datetime.now() form.save() blog.comments = blog.comments+1 blog.save() form = BlogCommentForm() context={ 'blog':blog, 'comments':comments, 'form':form, 'no_of_comments':len(comments), 'all_comments':all_comments, } return render(request,'blog/blogdetail.html',context)
def post(self,request,*args,**kwargs): from blog.forms import BlogCommentForm from common.templates import render_for_platform form_post = BlogCommentForm(request.POST) blog = Blog.objects.get(pk=request.POST.get('blog')) if request.is_ajax() and form_post.is_valid() and blog.comments_enabled: comment = form_post.save(commit=False) new_comment = comment.create_comment( commenter=request.user, blog=blog, parent=None, text=comment.text, attach = request.POST.getlist("attach_items") ) return render_for_platform(request, 'blog/comment/parent.html',{'comment': new_comment}) else: return HttpResponseBadRequest()
def post(self,request,*args,**kwargs): from blog.forms import BlogCommentForm from django.shortcuts import render from common.model.comments import BlogComment form_post = BlogCommentForm(request.POST) parent = BlogComment.objects.get(pk=request.POST.get('post_comment')) if request.is_ajax() and form_post.is_valid(): comment = form_post.save(commit=False) new_comment = comment.create_comment( commenter=request.user, blog=parent.blog, parent=parent, text=comment.text, attach = request.POST.getlist("attach_items") ) return render(request, 'blog/comment/reply.html',{'reply': new_comment, 'comment': parent,}) else: return HttpResponseBadRequest()
def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) post = self.get_object() context['next_post'] = Blog.objects.filter( posted__gt=post.posted).order_by('posted').first() context['prev_post'] = Blog.objects.filter( posted__lt=post.posted).order_by('-posted').first() context['comment_form'] = BlogCommentForm(self.request.POST or None) return context
def add_comment_to_blogpost(request,pk): post = get_object_or_404(BlogPost,pk=pk) if request.method == 'POST': form = BlogCommentForm(request.POST) if form.is_valid(): comment = form.save(commit=False) comment.post = post comment.author = request.user comment.save() return redirect('blog:blogpost_detail',pk=post.pk) else: form = BlogCommentForm() return render(request,'blog/comment_form.html',{'form':form})
def get_context_data(self, **kwargs): kwargs['comment_list'] = self.object.blogcomment_set.all() kwargs['len'] = len(kwargs['comment_list']) kwargs['form'] = BlogCommentForm() context = super(ArticleDetailView, self).get_context_data(**kwargs) return context
def test_blog_comment_form_metaclass(self): form = BlogCommentForm() self.assertEqual(form.Meta.fields, ('content',))
def test_order_blog_comment_form_required(self): form = BlogCommentForm({'content': ''}) self.assertFalse(form.is_valid()) self.assertTrue(form.errors) self.assertIn('content', form.errors.keys())