Skip to content

Commit 5808655

Browse files
martinmaillardcodingjoe
authored andcommitted
Fixed #31 -- Old file was not removed if updated
When you updated a StdImageField the file was not deleted by the pre_save_delete util.
1 parent be3c043 commit 5808655

File tree

3 files changed

+11
-3
lines changed

3 files changed

+11
-3
lines changed

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ def run(self):
2222

2323
setup(
2424
name='django-stdimage',
25-
version='1.0.6',
25+
version='1.0.7',
2626
description='Django Standarized Image Field',
2727
author='codingjoe',
2828
url='https://github.com/codingjoe/django-stdimage',

stdimage/utils.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,5 +75,6 @@ def pre_save_delete_callback(sender, instance, **kwargs):
7575
if isinstance(field, StdImageField):
7676
obj_field = getattr(obj, field.name)
7777
instance_field = getattr(instance, field.name)
78-
if obj_field and not instance_field:
78+
if obj_field and obj_field != instance_field:
7979
obj_field.delete(False)
80+

tests/tests.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,13 +122,20 @@ def test_deletion_singnal_receiver(self):
122122
obj.delete()
123123
self.assertFalse(os.path.exists(os.path.join(IMG_DIR, 'image.gif')))
124124

125-
def test_pre_save_delete_callback(self):
125+
def test_pre_save_delete_callback_clear(self):
126126
AdminDeleteModel.objects.create(image=self.fixtures['100.gif'])
127127
self.client.post('/admin/tests/admindeletemodel/1/', {
128128
'image-clear': 'checked',
129129
})
130130
self.assertFalse(os.path.exists(os.path.join(IMG_DIR, 'image.gif')))
131131

132+
def test_pre_save_delete_callback_new(self):
133+
AdminDeleteModel.objects.create(image=self.fixtures['100.gif'])
134+
self.client.post('/admin/tests/admindeletemodel/1/', {
135+
'image': self.fixtures['600x400.jpg'],
136+
})
137+
self.assertFalse(os.path.exists(os.path.join(IMG_DIR, 'image.gif')))
138+
132139
def test_upload_to_auto_slug_class_name_dir(self):
133140
UploadToAutoSlugClassNameDirModel.objects.create(
134141
name='foo bar',

0 commit comments

Comments
 (0)