def __init__(self, *args, **kwargs):
super(ImageAddForm, self).__init__(*args, **kwargs)
- self.fields['file'].required = self.fields['download_url'].required = False
+ self.fields['file'].required = self.fields['download_url'].required = self.fields['source_url'].required = False
def clean_download_url(self):
return self.cleaned_data['download_url'] or None
+ def clean_source_url(self):
+ return self.cleaned_data['source_url'] or None
+
def clean(self):
cleaned_data = super(ImageAddForm, self).clean()
if not cleaned_data.get('download_url', None) and not cleaned_data.get('file', None):
--- /dev/null
+# -*- 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):
+
+ # Changing field 'Image.source_url'
+ db.alter_column(u'cover_image', 'source_url', self.gf('django.db.models.fields.URLField')(max_length=200, null=True))
+
+ def backwards(self, orm):
+
+ # User chose to not deal with backwards NULL issues for 'Image.source_url'
+ raise RuntimeError("Cannot reverse this migration. 'Image.source_url' and its values cannot be restored.")
+
+ models = {
+ u'cover.image': {
+ 'Meta': {'object_name': 'Image'},
+ 'author': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+ 'download_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'unique': 'True', 'null': 'True'}),
+ 'file': ('django.db.models.fields.files.ImageField', [], {'max_length': '100'}),
+ u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'license_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+ 'license_url': ('django.db.models.fields.URLField', [], {'max_length': '255', 'blank': 'True'}),
+ 'source_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True'}),
+ 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+ }
+ }
+
+ complete_apps = ['cover']
\ No newline at end of file
author = models.CharField(max_length=255, verbose_name=_('author'))
license_name = models.CharField(max_length=255, verbose_name=_('license name'))
license_url = models.URLField(max_length=255, blank=True, verbose_name=_('license URL'))
- source_url = models.URLField(verbose_name=_('source URL'))
+ source_url = models.URLField(verbose_name=_('source URL'), null = True)
download_url = models.URLField(unique=True, verbose_name=_('image download URL'), null = True)
file = models.ImageField(upload_to='cover/image', editable=True, verbose_name=_('file'))