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)
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):
$.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')
+ }
});
}
})