X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/e9f8a9269b64a5af7c95d6c2714b1ae97e68d6a1..5b9ee3437b7fa98820eba7286abd524c3ede76e9:/apps/social/views.py diff --git a/apps/social/views.py b/apps/social/views.py index 27769d740..446c5c4a9 100644 --- a/apps/social/views.py +++ b/apps/social/views.py @@ -3,17 +3,13 @@ # Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information. # from django.shortcuts import render, get_object_or_404, redirect -from django.http import HttpResponseForbidden +from django.http import HttpResponseForbidden, JsonResponse from django.contrib.auth.decorators import login_required -#~ from django.utils.datastructures import SortedDict from django.views.decorators.http import require_POST -#~ from django.contrib import auth -#~ from django.views.decorators import cache -from django.utils.translation import ugettext as _ -from ajaxable.utils import LazyEncoder, JSONResponse, AjaxableFormView +from ajaxable.utils import AjaxableFormView -from catalogue.models import Book, Tag +from catalogue.models import Book from social import forms from social.utils import get_set, likes, set_sets @@ -33,7 +29,7 @@ def like_book(request, slug): set_sets(request.user, book, [tag]) if request.is_ajax(): - return JSONResponse({"success": True, "msg": "ok", "like": True}) + return JsonResponse({"success": True, "msg": "ok", "like": True}) else: return redirect(book) @@ -61,12 +57,15 @@ class ObjectSetsFormView(AjaxableFormView): return (obj, request.user), {} +@require_POST def unlike_book(request, slug): + if not request.user.is_authenticated(): + return HttpResponseForbidden('Login required.') book = get_object_or_404(Book, slug=slug) if likes(request.user, book): set_sets(request.user, book, []) if request.is_ajax(): - return JSONResponse({"success": True, "msg": "ok", "like": False}) + return JsonResponse({"success": True, "msg": "ok", "like": False}) else: return redirect(book)