|
|
@ -60,6 +60,7 @@ from .tasks.upload import TaskUpload
|
|
|
|
from .render_template import render_title_template
|
|
|
|
from .render_template import render_title_template
|
|
|
|
from .usermanagement import login_required_if_no_ano
|
|
|
|
from .usermanagement import login_required_if_no_ano
|
|
|
|
from .kobo_sync_status import change_archived_books
|
|
|
|
from .kobo_sync_status import change_archived_books
|
|
|
|
|
|
|
|
from .redirect import get_redirect_location
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
editbook = Blueprint('edit-book', __name__)
|
|
|
|
editbook = Blueprint('edit-book', __name__)
|
|
|
@ -96,7 +97,7 @@ def delete_book_from_details(book_id):
|
|
|
|
@editbook.route("/delete/<int:book_id>/<string:book_format>", methods=["POST"])
|
|
|
|
@editbook.route("/delete/<int:book_id>/<string:book_format>", methods=["POST"])
|
|
|
|
@login_required
|
|
|
|
@login_required
|
|
|
|
def delete_book_ajax(book_id, book_format):
|
|
|
|
def delete_book_ajax(book_id, book_format):
|
|
|
|
return delete_book_from_table(book_id, book_format, False)
|
|
|
|
return delete_book_from_table(book_id, book_format, False, request.form.to_dict().get('location', ""))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@editbook.route("/admin/book/<int:book_id>", methods=['GET'])
|
|
|
|
@editbook.route("/admin/book/<int:book_id>", methods=['GET'])
|
|
|
@ -823,7 +824,7 @@ def delete_whole_book(book_id, book):
|
|
|
|
calibre_db.session.query(db.Books).filter(db.Books.id == book_id).delete()
|
|
|
|
calibre_db.session.query(db.Books).filter(db.Books.id == book_id).delete()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def render_delete_book_result(book_format, json_response, warning, book_id):
|
|
|
|
def render_delete_book_result(book_format, json_response, warning, book_id, location=""):
|
|
|
|
if book_format:
|
|
|
|
if book_format:
|
|
|
|
if json_response:
|
|
|
|
if json_response:
|
|
|
|
return json.dumps([warning, {"location": url_for("edit-book.show_edit_book", book_id=book_id),
|
|
|
|
return json.dumps([warning, {"location": url_for("edit-book.show_edit_book", book_id=book_id),
|
|
|
@ -835,16 +836,16 @@ def render_delete_book_result(book_format, json_response, warning, book_id):
|
|
|
|
return redirect(url_for('edit-book.show_edit_book', book_id=book_id))
|
|
|
|
return redirect(url_for('edit-book.show_edit_book', book_id=book_id))
|
|
|
|
else:
|
|
|
|
else:
|
|
|
|
if json_response:
|
|
|
|
if json_response:
|
|
|
|
return json.dumps([warning, {"location": url_for('web.index'),
|
|
|
|
return json.dumps([warning, {"location": get_redirect_location(location, "web.index"),
|
|
|
|
"type": "success",
|
|
|
|
"type": "success",
|
|
|
|
"format": book_format,
|
|
|
|
"format": book_format,
|
|
|
|
"message": _('Book Successfully Deleted')}])
|
|
|
|
"message": _('Book Successfully Deleted')}])
|
|
|
|
else:
|
|
|
|
else:
|
|
|
|
flash(_('Book Successfully Deleted'), category="success")
|
|
|
|
flash(_('Book Successfully Deleted'), category="success")
|
|
|
|
return redirect(url_for('web.index'))
|
|
|
|
return redirect(get_redirect_location(location, "web.index"))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def delete_book_from_table(book_id, book_format, json_response):
|
|
|
|
def delete_book_from_table(book_id, book_format, json_response, location=""):
|
|
|
|
warning = {}
|
|
|
|
warning = {}
|
|
|
|
if current_user.role_delete_books():
|
|
|
|
if current_user.role_delete_books():
|
|
|
|
book = calibre_db.get_book(book_id)
|
|
|
|
book = calibre_db.get_book(book_id)
|
|
|
@ -891,7 +892,7 @@ def delete_book_from_table(book_id, book_format, json_response):
|
|
|
|
else:
|
|
|
|
else:
|
|
|
|
# book not found
|
|
|
|
# book not found
|
|
|
|
log.error('Book with id "%s" could not be deleted: not found', book_id)
|
|
|
|
log.error('Book with id "%s" could not be deleted: not found', book_id)
|
|
|
|
return render_delete_book_result(book_format, json_response, warning, book_id)
|
|
|
|
return render_delete_book_result(book_format, json_response, warning, book_id, location)
|
|
|
|
message = _("You are missing permissions to delete books")
|
|
|
|
message = _("You are missing permissions to delete books")
|
|
|
|
if json_response:
|
|
|
|
if json_response:
|
|
|
|
return json.dumps({"location": url_for("edit-book.show_edit_book", book_id=book_id),
|
|
|
|
return json.dumps({"location": url_for("edit-book.show_edit_book", book_id=book_id),
|
|
|
|