From 2320a8487601e534b6d1456573b0c484cb9817a7 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Aleksander=20=C5=81ukasz?= Date: Thu, 10 Oct 2013 10:10:58 +0200 Subject: [PATCH] Adding covers: make source_url field not required --- apps/cover/forms.py | 5 ++- .../0003_auto__chg_field_image_source_url.py | 34 +++++++++++++++++++ apps/cover/models.py | 2 +- 3 files changed, 39 insertions(+), 2 deletions(-) create mode 100644 apps/cover/migrations/0003_auto__chg_field_image_source_url.py diff --git a/apps/cover/forms.py b/apps/cover/forms.py index 67a0c531..4c718862 100755 --- a/apps/cover/forms.py +++ b/apps/cover/forms.py @@ -15,11 +15,14 @@ class ImageAddForm(forms.ModelForm): 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): diff --git a/apps/cover/migrations/0003_auto__chg_field_image_source_url.py b/apps/cover/migrations/0003_auto__chg_field_image_source_url.py new file mode 100644 index 00000000..98951e35 --- /dev/null +++ b/apps/cover/migrations/0003_auto__chg_field_image_source_url.py @@ -0,0 +1,34 @@ +# -*- 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 diff --git a/apps/cover/models.py b/apps/cover/models.py index 5574f345..d4432c2c 100644 --- a/apps/cover/models.py +++ b/apps/cover/models.py @@ -20,7 +20,7 @@ class Image(models.Model): 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')) -- 2.20.1