add in_stream Entry property,
[django-migdal.git] / migdal / migrations / 0006_auto__add_field_entry_in_stream__add_field_entry_first_published_at.py
1 # -*- coding: utf-8 -*-
2 import datetime
3 from south.db import db
4 from south.v2 import SchemaMigration
5 from django.db import models
6
7
8 class Migration(SchemaMigration):
9
10     def forwards(self, orm):
11         # Adding field 'Entry.in_stream'
12         db.add_column('migdal_entry', 'in_stream',
13                       self.gf('django.db.models.fields.BooleanField')(default=True),
14                       keep_default=False)
15
16         # Adding field 'Entry.first_published_at'
17         db.add_column('migdal_entry', 'first_published_at',
18                       self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True),
19                       keep_default=False)
20
21         if not db.dry_run:
22             for entry in orm.Entry.objects.exclude(
23                     published_at_en=None, published_at_pl=None):
24                 if entry.published_at_en and entry.published_at_pl:
25                     entry.first_published_at = min(
26                             entry.published_at_en, entry.published_at_pl)
27                 else:
28                     entry.first_published_at = (
29                         entry.published_at_en or entry.published_at_pl)
30                 entry.save()
31
32     def backwards(self, orm):
33         # Deleting field 'Entry.in_stream'
34         db.delete_column('migdal_entry', 'in_stream')
35
36         # Deleting field 'Entry.first_published_at'
37         db.delete_column('migdal_entry', 'first_published_at')
38
39
40     models = {
41         'migdal.attachment': {
42             'Meta': {'object_name': 'Attachment'},
43             'entry': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['migdal.Entry']"}),
44             'file': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}),
45             'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'})
46         },
47         'migdal.category': {
48             'Meta': {'object_name': 'Category'},
49             'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
50             'slug_en': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '50'}),
51             'slug_pl': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '50'}),
52             'taxonomy': ('django.db.models.fields.CharField', [], {'max_length': '32'}),
53             'title_en': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '64', 'db_index': 'True'}),
54             'title_pl': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '64', 'db_index': 'True'})
55         },
56         'migdal.entry': {
57             'Meta': {'ordering': "['-date']", 'object_name': 'Entry'},
58             '_body_en_rendered': ('django.db.models.fields.TextField', [], {}),
59             '_body_pl_rendered': ('django.db.models.fields.TextField', [], {}),
60             '_lead_en_rendered': ('django.db.models.fields.TextField', [], {}),
61             '_lead_pl_rendered': ('django.db.models.fields.TextField', [], {}),
62             'author': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
63             'author_email': ('django.db.models.fields.EmailField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}),
64             'body_en': ('markupfield.fields.MarkupField', [], {'null': 'True', 'rendered_field': 'True', 'blank': 'True'}),
65             'body_en_markup_type': ('django.db.models.fields.CharField', [], {'default': "'textile_pl'", 'max_length': '30', 'blank': 'True'}),
66             'body_pl': ('markupfield.fields.MarkupField', [], {'null': 'True', 'rendered_field': 'True', 'blank': 'True'}),
67             'body_pl_markup_type': ('django.db.models.fields.CharField', [], {'default': "'textile_pl'", 'max_length': '30', 'blank': 'True'}),
68             'categories': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['migdal.Category']", 'null': 'True', 'blank': 'True'}),
69             'changed_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'db_index': 'True', 'blank': 'True'}),
70             'date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'db_index': 'True', 'blank': 'True'}),
71             'first_published_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
72             'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
73             'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
74             'in_stream': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
75             'lead_en': ('markupfield.fields.MarkupField', [], {'null': 'True', 'rendered_field': 'True', 'blank': 'True'}),
76             'lead_en_markup_type': ('django.db.models.fields.CharField', [], {'default': "'textile_pl'", 'max_length': '30', 'blank': 'True'}),
77             'lead_pl': ('markupfield.fields.MarkupField', [], {'null': 'True', 'rendered_field': 'True', 'blank': 'True'}),
78             'lead_pl_markup_type': ('django.db.models.fields.CharField', [], {'default': "'textile_pl'", 'max_length': '30', 'blank': 'True'}),
79             'needed_en': ('django.db.models.fields.CharField', [], {'default': "'n'", 'max_length': '1', 'db_index': 'True'}),
80             'promo': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
81             'published_at_en': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
82             'published_at_pl': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
83             'published_en': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
84             'published_pl': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
85             'slug_en': ('migdal.fields.SlugNullField', [], {'max_length': '50', 'unique': 'True', 'null': 'True', 'blank': 'True'}),
86             'slug_pl': ('migdal.fields.SlugNullField', [], {'max_length': '50', 'unique': 'True', 'null': 'True', 'blank': 'True'}),
87             'title_en': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
88             'title_pl': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
89             'type': ('django.db.models.fields.CharField', [], {'max_length': '16', 'db_index': 'True'})
90         }
91     }
92
93     complete_apps = ['migdal']