X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/90e4a87f6ebffca42088cb952281c40555d2c520..d5e836566b0bbff5242de33acc264ca94ad11f49:/src/social/views.py diff --git a/src/social/views.py b/src/social/views.py index 15f01bf45..757b5a26d 100644 --- a/src/social/views.py +++ b/src/social/views.py @@ -13,7 +13,6 @@ from catalogue.models import Book from ssify import ssi_included from social import forms from .models import Cite -from social.utils import get_set, likes, set_sets # ==================== @@ -26,9 +25,8 @@ def like_book(request, slug): if not request.user.is_authenticated(): return HttpResponseForbidden('Login required.') book = get_object_or_404(Book, slug=slug) - if not likes(request.user, book): - tag = get_set(request.user, '') - set_sets(request.user, book, [tag]) + + book.like(request.user) if request.is_ajax(): return JsonResponse({"success": True, "msg": "ok", "like": True}) @@ -36,6 +34,20 @@ def like_book(request, slug): return redirect(book) +@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) + + book.unlike(request.user) + + if request.is_ajax(): + return JsonResponse({"success": True, "msg": "ok", "like": False}) + else: + return redirect(book) + + @login_required def my_shelf(request): return render(request, 'social/my_shelf.html', { @@ -60,20 +72,6 @@ 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}) - else: - return redirect(book) - - @ssi_included def cite(request, pk, main=False): cite = get_object_or_404(Cite, pk=pk)