From: Radek Czajka Date: Wed, 11 Jun 2025 08:39:42 +0000 (+0200) Subject: fix X-Git-Url: https://git.mdrn.pl/wolnelektury.git/commitdiff_plain/b0c32ed0d9e2c09836325dfd174a055ea367f62d?ds=sidebyside fix --- diff --git a/src/social/views.py b/src/social/views.py index 4aaf54e27..8f27b8746 100644 --- a/src/social/views.py +++ b/src/social/views.py @@ -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): diff --git a/src/wolnelektury/static/js/main.js b/src/wolnelektury/static/js/main.js index c82516bf2..45a41970c 100644 --- a/src/wolnelektury/static/js/main.js +++ b/src/wolnelektury/static/js/main.js @@ -381,24 +381,27 @@ $.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') + } }); } })