Add support for fabfile_local.py
[wolnelektury.git] / apps / social / views.py
index 27769d7..446c5c4 100644 (file)
@@ -3,17 +3,13 @@
 # Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
 #
 from django.shortcuts import render, get_object_or_404, redirect
 # 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.contrib.auth.decorators import login_required
-#~ from django.utils.datastructures import SortedDict
 from django.views.decorators.http import require_POST
 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
 
 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():
         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)
 
     else:
         return redirect(book)
 
@@ -61,12 +57,15 @@ class ObjectSetsFormView(AjaxableFormView):
         return (obj, request.user), {}
 
 
         return (obj, request.user), {}
 
 
+@require_POST
 def unlike_book(request, slug):
 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():
     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)
     else:
         return redirect(book)