def add_comment(request, pk): p = request.POST if p.has_key("text") and p["text"]: author = "Anonymous" if p["user"]: author = p["user"] comment = Comment(belongs_to_blog=Blog.objects.get(pk=pk)) cf = CommentForm(p, instance=comment) cf.fields["user"].required = False #comment = cf.save(commit=False) comment.text = p["text"] comment.user = author comment.save() return HttpResponseRedirect(reverse("blog_index"))
def comment(request): if request.method == 'POST': result = {'error': None, 'comment': [], 'nextup': False, 'commented': False} post_pk = request.POST['pk'] body = request.POST.get('body', '')[:140] commentstartfrom = int(request.POST['commentstartfrom']) # get post try: post = Post.objects.get(pk=post_pk) except Post.DoesNotExist: result['error']='PostNotFound' return JsonResponse(result) if len(body) != 0: # adding comment if(request.user.is_authenticated()): try: member = Member.objects.get(user=request.user) except Member.DoesNotExist: result['error']='UserNotFound' return JsonResponse(result) else: result['error']='UserNotAuthenticated' return JsonResponse(result) comment = Comment() comment.author = member comment.post = post comment.text = body comment.save() result['commented'] = True # - return comment for comment in post.comment.all()[::-1][commentstartfrom:commentstartfrom+3]: imageurl = comment.author.picture.url author = comment.author.name text = comment.text commentdata = {'imageurl': imageurl, 'author': author, 'text': text} result['comment'].append(commentdata) result['comment_num'] = len(post.comment.all()) if commentstartfrom+3 < result['comment_num']: result['nextup'] = True return JsonResponse(result)
def handle_comments(request, post_id): if request.method == 'GET': try: post = Post.objects.get(id=post_id) comments = Comment.objects.filter(post=post) count = len(comments) serializer = CommentListSerializer(comments, context={ 'query': 'comments', 'count': count }) return Response(serializer.data) except Exception as e: print(e) return HttpResponseNotFound() elif request.method == 'POST': try: post = Post.objects.get(id=post_id) form = CommentForm(request.POST or None) context = { "query": "addComment", "success": None, "message": None, } if form.is_valid(): if checkVisibility(request.user, post): form_data = form.cleaned_data comment = Comment(post=post, author=request.user, comment=form_data['comment']) comment.save() context['success'] = True context['message'] = "Comment Added" return Response(context, status=200) else: print(form.errors) context['success'] = False context['message'] = "Comment not Allowed" return Response(context, status=403) except Exception as e: print(e) return HttpResponseBadRequest()