def create(self, request, *args, **kwargs): if request.user.is_authenticated(): obj_content_type = ContentType.objects.get_for_model(BillSegment) obj = Comment() obj.content_type = obj_content_type obj.user = request.user obj.comment = request.data['comment'] obj.object_pk = request.data['object_pk'] obj.site_id = settings.SITE_ID obj.save() return Response(status=201) elif request.data['token']: token = Token.objects.get(key=request.data['token']) obj_content_type = ContentType.objects.get_for_model(BillSegment) obj = Comment() obj.content_type = obj_content_type obj.user = token.user obj.comment = request.data['comment'] obj.object_pk = request.data['object_id'] obj.site_id = settings.SITE_ID obj.save() serializer = CommentsSerializer(obj) return JSONResponse(serializer.data, status=201) else: return Response(serializer._errors, status=status.HTTP_400_BAD_REQUEST)
def create(self, request, *args, **kwargs): if request.user.is_authenticated(): obj_content_type = ContentType.objects.get_for_model(BillSegment) obj = Comment() obj.content_type = obj_content_type obj.user = request.user obj.comment = request.data['comment'] obj.object_pk = request.data['object_pk'] obj.site_id = settings.SITE_ID obj.save() return Response(status=201) else: return Response(status=403)
def comment(request, segment_id): if request.user.is_authenticated() and request.method == 'POST': ctype = ContentType.objects.get_for_model(BillSegment) segment = BillSegment.objects.get(pk=segment_id) obj = Comment() obj.content_type = ctype obj.user = request.user obj.comment = request.POST.get('comment') obj.object_pk = segment_id obj.site_id = settings.SITE_ID obj.save() html = render_to_string('widget/_segment_comments.html', {'segment': segment}) return JsonResponse({'html': html, 'count': segment.comments.all().count()}) else: msg = _("You must be logged to comment.") return HttpResponseForbidden(reason=msg)