trigger reading status modals from move button
- unhide reading status shelves - trigger modals when moving to a read status shelf - force page refresh when using move button
This commit is contained in:
@ -1,6 +1,7 @@
|
||||
""" shelf views """
|
||||
from django.db import IntegrityError, transaction
|
||||
from django.contrib.auth.decorators import login_required
|
||||
from django.http.response import HttpResponse
|
||||
from django.shortcuts import get_object_or_404, redirect
|
||||
from django.views.decorators.http import require_POST
|
||||
|
||||
@ -91,13 +92,15 @@ def shelve(request):
|
||||
|
||||
@login_required
|
||||
@require_POST
|
||||
def unshelve(request):
|
||||
def unshelve(request, referer=None, book_id=False):
|
||||
"""remove a book from a user's shelf"""
|
||||
book = get_object_or_404(models.Edition, id=request.POST.get("book"))
|
||||
id = book_id if book_id else request.POST.get("book")
|
||||
book = get_object_or_404(models.Edition, id=id)
|
||||
shelf_book = get_object_or_404(
|
||||
models.ShelfBook, book=book, shelf__id=request.POST["shelf"]
|
||||
)
|
||||
shelf_book.raise_not_deletable(request.user)
|
||||
|
||||
shelf_book.delete()
|
||||
if bool(referer):
|
||||
return HttpResponse(headers={"forceReload" : "true"})
|
||||
return redirect(request.headers.get("Referer", "/"))
|
||||
|
Reference in New Issue
Block a user