From 4c85c39a78be19a09c585ff30d0dd6a466f922df Mon Sep 17 00:00:00 2001 From: Karl Hobley Date: Fri, 19 Jun 2015 11:25:02 +0100 Subject: [PATCH] Give error if image file doesn't exist --- wagtail/wagtailimages/views/images.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/wagtail/wagtailimages/views/images.py b/wagtail/wagtailimages/views/images.py index a7d2310dc..81912a96b 100644 --- a/wagtail/wagtailimages/views/images.py +++ b/wagtail/wagtailimages/views/images.py @@ -1,3 +1,4 @@ +import os import json from django.shortcuts import render, redirect, get_object_or_404 @@ -118,6 +119,19 @@ def edit(request, image_id): except NoReverseMatch: url_generator_enabled = False + try: + local_path = image.file.path + except NotImplementedError: + # Image is hosted externally (eg, S3) + local_path = None + + if local_path: + # Give error if image file doesn't exist + if not os.path.isfile(local_path): + messages.error(request, _("The source image file could not be found. Please change the source or delete the image.").format(image.title), buttons=[ + messages.button(reverse('wagtailimages_delete_image', args=(image.id,)), _('Delete')) + ]) + return render(request, "wagtailimages/images/edit.html", { 'image': image, 'form': form,