Compare commits

...

3 commits

Author SHA1 Message Date
Jannis Portmann 4de233ef1f Merge pull request 'Fix image upload bugs' (#10) from dev into main
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/promote/production Build is passing
Reviewed-on: #10
2023-07-10 11:11:36 +02:00
Jannis Portmann dbb97b2b4c Keep old image if unchanged
Some checks failed
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is failing
2023-07-10 11:07:11 +02:00
Jannis Portmann 27421b13c2 Fix image deletion bug 2023-07-10 11:00:32 +02:00
2 changed files with 12 additions and 6 deletions

View file

@ -52,9 +52,12 @@ def auto_delete_image_on_delete(sender, instance, **kwargs):
@receiver(models.signals.pre_save, sender=Offer)
def delete_old_image(sender, instance, **kwargs):
try:
old_image = sender.objects.get(pk=instance.pk).image
except sender.DoesNotExist:
return False
if instance.pk:
try:
old_image = sender.objects.get(pk=instance.pk).image
except sender.DoesNotExist:
return False
default_storage.delete(old_image.path)
new_image = instance.image
if old_image != new_image:
default_storage.delete(old_image.path)

View file

@ -87,7 +87,10 @@ def offer_edit(request, offer_id):
form = CreateOfferForm(request.POST, request.FILES, instance=offer)
if form.is_valid():
offer = form.save(commit=False)
offer.image.name = generate_unique_filename(form.cleaned_data['image'].name)
if 'image' in request.FILES:
offer.image.name = generate_unique_filename(form.cleaned_data['image'].name)
else:
offer.image = offer.image
offer.user = request.user
offer.save()
messages.success(request, _("Offer updated successfully!"))