--- a/cmpuqrct/urls.py Wed Aug 14 23:59:57 2013 +0300
+++ b/cmpuqrct/urls.py Thu Aug 15 00:17:01 2013 +0300
@@ -11,7 +11,7 @@
# url(r'^admin/doc/', include('django.contrib.admindocs.urls')),
url(r'^admin/', include(admin.site.urls)),
url(r'^admin$', include(admin.site.urls)),
-
+
# Default.
url(r'^', include(qrurls.urls.urlpatterns)),
)
--- a/qrurls/admin.py Wed Aug 14 23:59:57 2013 +0300
+++ b/qrurls/admin.py Thu Aug 15 00:17:01 2013 +0300
@@ -13,7 +13,7 @@
publishing_date = None
publishing_time = datetime.time()
- if urlfeed :
+ if urlfeed and isinstance(urlfeed, URL) :
publishing_date = urlfeed.last_item().published.date()
publishing_time = urlfeed.publishing_schedule
@@ -29,7 +29,7 @@
for days in xrange(offset, count + offset) :
yield datetime.datetime.combine(
- publishing_date + datetime.timedelta(days=days),
+ start_date + datetime.timedelta(days=days),
publishing_time
)
@@ -92,9 +92,10 @@
'fields': ('shorturl', 'published', ),
}),
("Target", {
- 'fields': ('url', ),
+ 'fields': ('url', 'image'),
}),
)
+
class URLImageAdmin (admin.ModelAdmin) :
# hide the "uploaded" field
@@ -103,7 +104,9 @@
'uploaded',
'image',
)
+
+ inlines = (URLItemInline, )
admin.site.register(URL, URLAdmin)
admin.site.register(URLItem, URLItemAdmin)
-admin.site.register(URLImage)
+admin.site.register(URLImage, URLImageAdmin)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/qrurls/migrations/0005_auto__add_field_urlitem_image.py Thu Aug 15 00:17:01 2013 +0300
@@ -0,0 +1,45 @@
+# -*- 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 'URLItem.image'
+ db.add_column(u'qrurls_urlitem', 'image',
+ self.gf('django.db.models.fields.related.ForeignKey')(to=orm['qrurls.URLImage'], null=True, blank=True),
+ keep_default=False)
+
+
+ def backwards(self, orm):
+ # Deleting field 'URLItem.image'
+ db.delete_column(u'qrurls_urlitem', 'image_id')
+
+
+ models = {
+ u'qrurls.url': {
+ 'Meta': {'object_name': 'URL'},
+ u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'publishing_schedule': ('django.db.models.fields.TimeField', [], {'default': 'datetime.time(0, 0)'}),
+ 'shorturl': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '50'})
+ },
+ 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'}),
+ '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'})
+ }
+ }
+
+ complete_apps = ['qrurls']
\ No newline at end of file
--- a/qrurls/models.py Wed Aug 14 23:59:57 2013 +0300
+++ b/qrurls/models.py Thu Aug 15 00:17:01 2013 +0300
@@ -72,13 +72,19 @@
verbose_name_plural = u"URL Images"
ordering = ['uploaded']
+ def get_absolute_url (self) :
+ return self.image.url
+
def __unicode__ (self) :
return self.image.name
class URLItem(models.Model):
shorturl = models.ForeignKey(URL)
published = models.DateTimeField()
- url = models.URLField()
+
+ # either-or
+ url = models.URLField(blank=True) # populated from image
+ image = models.ForeignKey(URLImage, null=True, blank=True)
class Meta:
verbose_name = u"URL Item"
@@ -120,3 +126,10 @@
published_state=self.published_state(),
url=self.get_absolute_url(),
)
+
+ def save (self, *args, **kwargs) :
+ if self.image :
+ self.url = self.image.get_absolute_url()
+
+ super(URLItem, self).save(*args, **kwargs)
+