--- a/qrurls/admin.py Sat Aug 31 21:36:49 2013 +0300
+++ b/qrurls/admin.py Sat Aug 31 21:39:02 2013 +0300
@@ -231,16 +231,19 @@
show_image.allow_tags = True
list_display = (
- 'title',
+ 'name',
'uploaded',
)
# hide the "uploaded" field
fields = (
'image',
+ 'name',
+ 'uploaded',
'title',
'show_image',
)
readonly_fields = (
+ 'name',
'uploaded',
'show_image',
)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/qrurls/migrations/0010_auto__add_field_urlimage_name.py Sat Aug 31 21:39:02 2013 +0300
@@ -0,0 +1,49 @@
+# -*- coding: utf-8 -*-
+import datetime
+from south.db import db
+from south.v2 import SchemaMigration
+from django.db import models
+
+
+class Migration(SchemaMigration):
+
+ def forwards(self, orm):
+ # Adding field 'URLImage.name'
+ db.add_column(u'qrurls_urlimage', 'name',
+ self.gf('django.db.models.fields.CharField')(default='unknown', max_length=512),
+ keep_default=False)
+
+
+ def backwards(self, orm):
+ # Deleting field 'URLImage.name'
+ db.delete_column(u'qrurls_urlimage', 'name')
+
+
+ models = {
+ u'qrurls.url': {
+ 'Meta': {'object_name': 'URL'},
+ u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'publishing_days': ('django.db.models.fields.IntegerField', [], {'default': '1'}),
+ 'publishing_time': ('django.db.models.fields.TimeField', [], {'default': 'datetime.time(0, 0)'}),
+ 'shorturl': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '50'}),
+ 'title': ('django.db.models.fields.CharField', [], {'max_length': '1024', 'null': 'True', 'blank': 'True'})
+ },
+ u'qrurls.urlimage': {
+ 'Meta': {'ordering': "['uploaded']", 'object_name': 'URLImage'},
+ u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '100'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '512'}),
+ 'title': ('django.db.models.fields.CharField', [], {'max_length': '1024', 'blank': 'True'}),
+ 'uploaded': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'})
+ },
+ u'qrurls.urlitem': {
+ 'Meta': {'ordering': "['published']", 'object_name': 'URLItem'},
+ u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'image': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['qrurls.URLImage']", 'null': 'True', 'blank': 'True'}),
+ 'published': ('django.db.models.fields.DateTimeField', [], {}),
+ 'shorturl': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['qrurls.URL']"}),
+ 'url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'})
+ }
+ }
+
+ complete_apps = ['qrurls']
\ No newline at end of file
--- a/qrurls/models.py Sat Aug 31 21:36:49 2013 +0300
+++ b/qrurls/models.py Sat Aug 31 21:39:02 2013 +0300
@@ -29,7 +29,7 @@
return hash.hexdigest()
def save (self, name, content) :
- # Get the proper name for the file, as it will actually be saved.
+ """Convert uploaded filename to a hash of the contents for storage."""
if name is None:
name = content.name
@@ -143,6 +143,7 @@
class URLImage(models.Model):
image = models.ImageField(upload_to=IMAGES_MEDIA, storage=SecretFileSystemStorage())
+ name = models.CharField(max_length=512, blank=False)
title = models.CharField(max_length=1024, blank=True)
uploaded = models.DateTimeField(auto_now_add=True)
@@ -151,11 +152,17 @@
verbose_name_plural = u"URL Images"
ordering = ['uploaded']
+ def save (self) :
+ # keep real filename before saving with hash
+ self.name = self.image.name
+
+ super(URLImage, self).save()
+
def get_absolute_url (self) :
return self.image.url
def __unicode__ (self) :
- return "[%s] %s" % (self.uploaded.strftime("%Y-%m-%d"), self.title)
+ return "[%s] %s" % (self.uploaded.strftime("%Y-%m-%d"), self.name)
class URLItem(models.Model):
shorturl = models.ForeignKey(URL)