Handle already existing pictures

This commit is contained in:
Alexandre Iooss 2022-04-17 10:03:50 +02:00
parent f29719ef78
commit 73f80de794

View file

@ -193,6 +193,7 @@ class GalleryUpload(PermissionRequiredMixin, FormView):
gallery_year = Path(str(gallery.date_start.year))
gallery_dir = gallery_year / gallery.slug
failed_upload = 0
already_exists = 0
for photo_file in files:
# Check that we have a valid image
try:
@ -214,21 +215,21 @@ class GalleryUpload(PermissionRequiredMixin, FormView):
owner=self.request.user,
)
photo_name = str(gallery_dir / photo_file.name)
photo.image.save(photo_name, photo_file)
photo.save()
photo.galleries.set([gallery])
# Save to disk after successful database edit
photo.image.save(photo_name, photo_file)
except IntegrityError:
messages.error(
self.request,
f"{photo_file.name} was not uploaded. Maybe the photo was already uploaded.",
)
failed_upload += 1
already_exists += 1
# Notify user then managers
if not failed_upload:
messages.success(self.request, "All photos has been successfully uploaded.")
n_success = len(files) - failed_upload - already_exists
if already_exists:
messages.success(self.request, f"{n_success} photos has been successfully uploaded, {already_exists} photos were skipped as they already exist in this gallery.")
elif not failed_upload:
messages.success(self.request, f"All {n_success} photos has been successfully uploaded.")
else:
n_success = len(files) - failed_upload
messages.warning(
self.request, f"Only {n_success} photos were successfully uploaded !"
)