make URLFeed publishing_offset user-defineable in days
authorTero Marttila <terom@fixme.fi>
Sat, 31 Aug 2013 19:11:37 +0300
changeset 63 9d1184cdbd16
parent 62 90f0a1cd3f0b
child 64 b968f33d780c
make URLFeed publishing_offset user-defineable in days
qrurls/admin.py
qrurls/migrations/0009_auto__add_field_url_publishing_days.py
qrurls/models.py
--- a/qrurls/admin.py	Sat Aug 31 19:05:10 2013 +0300
+++ b/qrurls/admin.py	Sat Aug 31 19:11:37 2013 +0300
@@ -127,7 +127,8 @@
     fieldsets = (
         (None, {
             'fields': (
-                'shorturl', 
+                'shorturl',
+                'publishing_days',
                 'publishing_time', 
                 'timezone',
                 'title',
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/qrurls/migrations/0009_auto__add_field_url_publishing_days.py	Sat Aug 31 19:11:37 2013 +0300
@@ -0,0 +1,48 @@
+# -*- 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 'URL.publishing_days'
+        db.add_column(u'qrurls_url', 'publishing_days',
+                      self.gf('django.db.models.fields.IntegerField')(default=1),
+                      keep_default=False)
+
+
+    def backwards(self, orm):
+        # Deleting field 'URL.publishing_days'
+        db.delete_column(u'qrurls_url', 'publishing_days')
+
+
+    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'}),
+            '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 19:05:10 2013 +0300
+++ b/qrurls/models.py	Sat Aug 31 19:11:37 2013 +0300
@@ -46,6 +46,8 @@
             help_text="Changing this will break existing QR-codes!")
     publishing_time = models.TimeField(default=datetime.time(),
             help_text="Default time to publish new URLItems (in timezone)")
+    publishing_days = models.IntegerField(default=1,
+            help_text="Default interval for publishing new URLItems")
     title = models.CharField(max_length=1024, blank=True, null=True,
             help_text="Text to display together with images.")
 
@@ -111,8 +113,9 @@
         """publishing_time, with tzinfo on the correct timezone."""
         return self.publishing_time.replace(tzinfo=timezone.get_current_timezone())
     
-    # XXX: hardcoded for now
-    publishing_offset = datetime.timedelta(days=1)
+    @property
+    def publishing_offset (self) :
+        return datetime.timedelta(days=self.publishing_days)
 
     def publishing_schedule (self) :
         """Calculate initial URLItem.published values for feed."""