Adds error messaging for invalid cover urls

This commit is contained in:
Mouse Reeve 2021-03-31 15:39:28 -07:00
parent 6e66154e35
commit f2f700c7b8
2 changed files with 8 additions and 4 deletions

View file

@ -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 %}
<p class="help is-danger">{% trans "Failed to load cover" %}</p>
{% endif %}
</div>
{% endif %}

View file

@ -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):