Shelf lists
[wolnelektury.git] / src / social / views.py
index e3d60ca..df944b3 100644 (file)
@@ -18,12 +18,13 @@ from wolnelektury.utils import is_ajax
 # ====================
 
 
-@require_POST
+@login_required
 def like_book(request, slug):
-    if not request.user.is_authenticated:
-        return HttpResponseForbidden('Login required.')
     book = get_object_or_404(Book, slug=slug)
 
+    if request.method != 'POST':
+        return redirect(book)
+
     models.UserList.like(request.user, book)
 
     if is_ajax(request):
@@ -49,12 +50,13 @@ class RemoveSetView(AddSetView):
     form_class = forms.RemoveSetForm
 
 
-@require_POST
+@login_required
 def unlike_book(request, slug):
-    if not request.user.is_authenticated:
-        return HttpResponseForbidden('Login required.')
     book = get_object_or_404(Book, slug=slug)
 
+    if request.method != 'POST':
+        return redirect(book)
+
     models.UserList.unlike(request.user, book)
 
     if is_ajax(request):
@@ -66,13 +68,15 @@ def unlike_book(request, slug):
 @login_required
 def my_shelf(request):
     template_name = 'social/my_shelf.html'
+    favs = request.user.userlist_set.filter(favorites=True)
+    others = request.user.userlist_set.filter(favorites=False)
     ulists = list(request.user.userlist_set.all())
     suggest = [t for t in ulists if t.name]
         
     return render(request, template_name, {
-        'tags': ulists,
-        'books': Book.objects_filter(userlistitem__list__user=request.user),
-        'suggest': suggest,
+        'favs': favs,
+        'others': others,
+        #'books': Book.objects.filter(userlistitem__list__user=request.user),
     })