예제 #1
0
파일: views.py 프로젝트: dsauerbrun/blog
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 post(self, request):
        user_id = request.user.id
        data = json.loads(request.body)

        try:
            comment_id = request.GET.get('comment')
            user = User.objects.get(id=user_id)
            comment = Comment.objects.get(id=comment_id)
            text = data['text']
        except KeyError:
            return JsonResponse({'message': 'KEY_ERROR'}, status=400)
        except Exception:
            return JsonResponse({'message': 'wrong id'}, status=400)

        if not text or text.isspace():
            return JsonResponse({'message': 'INVALID_TEXT'}, status=400)

        Comment(
            text=text,
            user_id=user.id,
            posting_id=comment.posting_id,
            reply_on=comment,
        ).save()

        return JsonResponse({'message': 'SUCCESS'}, status=200)
    def post(self, request):
        try:
            data = json.loads(request.body)
            comment_user            =   data['user']
            comment_content         =   data['content']
            post_comment_id         =   data['post']  # post_id는 database에서 post의 id와 동일하게

            user_name               =   Account.objects.get(name = comment_user)
            post_id                 =   Posting.objects.get(id = post_comment_id)
        except KeyError:
            return JsonResponse({'message': 'KEY_ERROR'}, status = 400)
        except Account.DoesNotExist: 
            return JsonResponse( {'message': 'Account_DoesNotExist'}, status = 401)
        except Posting.DoesNotExist:
            return JsonResponse( {'message': 'Post_DoesNotExist'}, status = 401)
        except json.decoder.JSONDecodeError:
            return JsonResponse({'message': 'JSON_TYPE_Error'}, status = 401)
        except ValueError:
            return JsonResponse({"message": "VALUSE_ERROR"}, status = 400)
        Comment(
            user    = user_name,
            post    = post_id,
            content = comment_content
        ).save()
        
        return JsonResponse({'message':'COMMENT_SUCCESS'}, status=200)
    def post(self, request):
        data = json.loads(request.body)
        user_id = request.user.id
        posting_id = request.GET.get('post')

        if not posting_id:
            return JsonResponse({'message': 'Check Querystring'}, status=400)

        try:
            comment_text = data['text']
        except KeyError:
            return JsonResponse({'message': 'KEY_ERROR'}, status=400)

        try:
            posting_obj = Posting.objects.get(id=posting_id)
        except Exception:
            return JsonResponse({'message': 'INVALID POSTING'}, status=400)

        if not comment_text or comment_text.isspace():
            return JsonResponse({'message': 'INVALID_TEXT'}, status=400)

        try:
            Comment(
                text=comment_text,
                user=user_obj,
                posting=posting_obj,
            ).save()

            return JsonResponse({'message': 'SUCCESS'}, status=200)
        except Exception as error_message:
            return JsonResponse({'meesage': error_message}, status=401)
    def post(self, request):
        data = json.loads(request.body)

        ByComment.objects.create(
            comment=Comment(id=data['comment_id']),
            account=Account(id=data['account_id']),
            contents=data['contents'],
        )

        return JsonResponse({'MESSAGE': 'SUCCESS'}, status=200)
예제 #6
0
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()
예제 #7
0
    def post(self, request):
        data = json.loads(request.body)
        Comment(
            user        = User.objects.get(id=data['user']),
            post        = Posting.objects.get(id=data['post']),
            upload_time = data['upload_time'],
            content     = data['content']
        ).save()

        return JsonResponse(
            {'MESSAGE': 'UPLOAD_SUCCESS'},
            status=201)
예제 #8
0
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)