def comment_image_upload_ajax(request): if not request.is_ajax(): return Http404() form = CommentImageForm(user=request.user, data=request.POST, files=request.FILES) if form.is_valid(): image = form.save() return json_response({'url': image.url, }) return json_response({'error': dict(form.errors.items()), })
def test_json_response(self): """ return json_response """ res = foro_utils.json_response() self.assertIsInstance(res, HttpResponse) self.assertEqual(res.status_code, 200) self.assertEqual(res['Content-Type'], 'application/json') self.assertDictEqual(json.loads(res.content.decode('utf-8')), {}) res = foro_utils.json_response({"foo": "bar", }) self.assertDictEqual(json.loads(res.content.decode('utf-8')), {"foo": "bar", }) res = foro_utils.json_response(status=404) self.assertEqual(res.status_code, 404)
def like_create(request, comment_id): comment = get_object_or_404(Comment.objects.exclude(user=request.user), pk=comment_id) if request.method == 'POST': form = LikeForm(user=request.user, comment=comment, data=request.POST) if form.is_valid(): like = form.save() comment_like_post_create.send(sender=like.__class__, comment=like.comment) if request.is_ajax(): return json_response({ 'url_delete': like.get_delete_url(), }) return redirect( request.POST.get('next', comment.get_absolute_url())) else: form = LikeForm() return render(request, 'foro/comment_like/like_create.html', { 'form': form, 'comment': comment })
def comment_image_upload_ajax(request): if not request.is_ajax(): return Http404() form = CommentImageForm(user=request.user, data=request.POST, files=request.FILES) if form.is_valid(): image = form.save() return json_response({ 'url': image.url, }) return json_response({ 'error': dict(form.errors.items()), })
def test_json_response(self): """ return json_response """ res = foro_utils.json_response() self.assertIsInstance(res, HttpResponse) self.assertEqual(res.status_code, 200) self.assertEqual(res['Content-Type'], 'application/json') self.assertDictEqual(json.loads(res.content.decode('utf-8')), {}) res = foro_utils.json_response({ "foo": "bar", }) self.assertDictEqual(json.loads(res.content.decode('utf-8')), { "foo": "bar", }) res = foro_utils.json_response(status=404) self.assertEqual(res.status_code, 404)
def bookmark_create(request, topic_id): if not request.is_ajax(): return Http404() topic = get_object_or_404(Topic, pk=topic_id) form = BookmarkForm(user=request.user, topic=topic, data=request.POST) if form.is_valid(): form.save() return json_response() return Http404()
def like_delete(request, pk): like = get_object_or_404(CommentLike, pk=pk, user=request.user) if request.method == "POST": like.delete() comment_like_post_delete.send(sender=like.__class__, comment=like.comment) if request.is_ajax(): return json_response({"url_create": reverse("foro:like-create", kwargs={"comment_id": like.comment.pk})}) return redirect(request.POST.get("next", like.comment.get_absolute_url())) return render(request, "foro/comment_like/like_delete.html", {"like": like})
def like_create(request, comment_id): comment = get_object_or_404(Comment.objects.exclude(user=request.user), pk=comment_id) if request.method == "POST": form = LikeForm(user=request.user, comment=comment, data=request.POST) if form.is_valid(): like = form.save() comment_like_post_create.send(sender=like.__class__, comment=like.comment) if request.is_ajax(): return json_response({"url_delete": like.get_delete_url()}) return redirect(request.POST.get("next", comment.get_absolute_url())) else: form = LikeForm() return render(request, "foro/comment_like/like_create.html", {"form": form, "comment": comment})
def like_delete(request, pk): like = get_object_or_404(CommentLike, pk=pk, user=request.user) if request.method == 'POST': like.delete() comment_like_post_delete.send(sender=like.__class__, comment=like.comment) if request.is_ajax(): return json_response({ 'url_create': reverse('foro:like-create', kwargs={ 'comment_id': like.comment.pk, }), }) return redirect( request.POST.get('next', like.comment.get_absolute_url())) return render(request, 'foro/comment_like/like_delete.html', { 'like': like, })