media upload fix
authorRadek Czajka <radoslaw.czajka@nowoczesnapolska.org.pl>
Wed, 31 Aug 2011 10:23:37 +0000 (12:23 +0200)
committerRadek Czajka <radoslaw.czajka@nowoczesnapolska.org.pl>
Wed, 31 Aug 2011 10:23:37 +0000 (12:23 +0200)
apps/catalogue/admin.py
apps/catalogue/fields.py
apps/catalogue/models.py

index 32c8f8c..22cf15f 100644 (file)
@@ -21,7 +21,7 @@ class TagAdmin(admin.ModelAdmin):
 
 class MediaInline(admin.TabularInline):
     model = BookMedia
-    readonly_fields = ['type', 'source_sha1']
+    readonly_fields = ['source_sha1']
     extra = 0
 
 
index 4de2e7c..e11d611 100644 (file)
@@ -133,11 +133,11 @@ class OverwritingFieldFile(FieldFile):
         Deletes the old file before saving the new one.
     """
 
-    def save(self, *args, **kwargs):
+    def save(self, name, content, *args, **kwargs):
         leave = kwargs.pop('leave', None)
-        if not leave and self:
+        if not leave and self and content is not self:
             self.delete(save=False)
-        return super(OverwritingFieldFile, self).save(*args, **kwargs)
+        return super(OverwritingFieldFile, self).save(name, content, *args, **kwargs)
 
 
 class OverwritingFileField(models.FileField):
index fd5dc98..2722286 100644 (file)
@@ -188,7 +188,7 @@ def book_upload_path(ext=None, maxlen=100):
 
 
 class BookMedia(models.Model):
-    type        = models.CharField(_('type'), choices=MEDIA_FORMATS, max_length="100", editable=False)
+    type        = models.CharField(_('type'), choices=MEDIA_FORMATS, max_length="100")
     name        = models.CharField(_('name'), max_length="100")
     file        = OverwritingFileField(_('file'), upload_to=book_upload_path())
     uploaded_at = models.DateTimeField(_('creation date'), auto_now_add=True, editable=False)