diff --git a/bookwyrm/templates/book/book.html b/bookwyrm/templates/book/book.html index 3931ea5bf..b91cebbac 100644 --- a/bookwyrm/templates/book/book.html +++ b/bookwyrm/templates/book/book.html @@ -49,6 +49,9 @@ {% trans "Add cover" as button_text %} {% include 'snippets/toggle/toggle_button.html' with text=button_text controls_text="add-cover" controls_uid=book.id focus="modal-title-add-cover" class="is-small" %} {% include 'book/cover_modal.html' with book=book controls_text="add-cover" controls_uid=book.id %} + {% if request.GET.cover_error %} +
{% trans "Failed to load cover" %}
+ {% endif %} {% endif %} diff --git a/bookwyrm/views/books.py b/bookwyrm/views/books.py index 632cb2ad9..58886cade 100644 --- a/bookwyrm/views/books.py +++ b/bookwyrm/views/books.py @@ -289,18 +289,19 @@ def upload_cover(request, book_id): url = request.POST.get("cover-url") if url: image = set_cover_from_url(url) - book.cover.save(*image) + if image: + book.cover.save(*image) - return redirect("/book/%d" % book.id) + return redirect("{:s}?cover_error=True".format(book.local_path)) form = forms.CoverForm(request.POST, request.FILES, instance=book) if not form.is_valid() or not form.files.get("cover"): - return redirect("/book/%d" % book.id) + return redirect(book.local_path) book.cover = form.files["cover"] book.save() - return redirect("/book/%s" % book.id) + return redirect(book.local_path) def set_cover_from_url(url):