fix master
authorRadek Czajka <rczajka@rczajka.pl>
Wed, 11 Jun 2025 08:39:42 +0000 (10:39 +0200)
committerRadek Czajka <rczajka@rczajka.pl>
Wed, 11 Jun 2025 08:39:42 +0000 (10:39 +0200)
src/social/views.py
src/wolnelektury/static/js/main.js

index 4aaf54e..8f27b87 100644 (file)
@@ -24,7 +24,7 @@ def like_book(request, slug):
     book = get_object_or_404(Book, slug=slug)
 
     if request.method != 'POST':
-        return redirect(book.get_absolute_url())
+        return redirect(book)
 
     book.like(request.user)
 
@@ -51,12 +51,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)
+
     book.unlike(request.user)
 
     if is_ajax(request):
index c82516b..45a4197 100644 (file)
             $.post({
                 url: '/ludzie/lektura/' + $(this).attr('data-book-slug') + '/nie_lubie/',
                 data: {'csrfmiddlewaretoken': $('[name=csrfmiddlewaretoken]').val()},
+                dataType: 'json',
                 success: function() {
                     delete state.liked[$btn.attr('data-book')];
                     updateLiked($btn);
+                },
+                error: function() {
+                    window.location.href = $('#login-link').attr('href');
                 }
             })
         } else {
             $.post({
                 url: '/ludzie/lektura/' + $(this).attr('data-book-slug') + '/lubie/',
                 data: {'csrfmiddlewaretoken': $('[name=csrfmiddlewaretoken]').val()},
+                dataType: 'json',
                 success: function() {
                     state.liked[$btn.attr('data-book')] = [];
                     updateLiked($btn);
                 },
-                error: function(e) {
-                    if (e.status == 403) {
-                        window.location.href = $('#login-link').attr('href')
-                    }
-                },
+                error: function() {
+                    window.location.href = $('#login-link').attr('href')
+                }
             });
         }
     })