Importing whole sections.
[edumed.git] / catalogue / migrations / 0007_auto__add_field_lesson_type__chg_field_lesson_section.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 'Lesson.type'
12         db.add_column('catalogue_lesson', 'type',
13                       self.gf('django.db.models.fields.CharField')(default='course', max_length=15, db_index=True),
14                       keep_default=False)
15
16         # Changing field 'Lesson.section'
17         db.alter_column('catalogue_lesson', 'section_id', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['catalogue.Section'], null=True))
18         # Adding index on 'Lesson', fields ['order']
19         db.create_index('catalogue_lesson', ['order'])
20
21         if not db.dry_run:
22             orm.Lesson.objects.filter(depth=0).update(type='synthetic')
23
24
25     def backwards(self, orm):
26         # Removing index on 'Lesson', fields ['order']
27         db.delete_index('catalogue_lesson', ['order'])
28
29         # Deleting field 'Lesson.type'
30         db.delete_column('catalogue_lesson', 'type')
31
32         section = 0
33         if not db.dry_run:
34             orm.Lesson.objects.filter(type='synthetic').update(depth=0)
35             try:
36                 section = orm.Section.objects.all()[0]
37             except orm.Section.DoesNotExist:
38                 pass
39
40         # Changing field 'Lesson.section'
41         db.alter_column('catalogue_lesson', 'section_id',
42             self.gf('django.db.models.fields.related.ForeignKey')(default=section, to=orm['catalogue.Section']))
43
44
45     models = {
46         'catalogue.attachment': {
47             'Meta': {'ordering': "['slug', 'ext']", 'unique_together': "(['lesson', 'slug', 'ext'],)", 'object_name': 'Attachment'},
48             'ext': ('django.db.models.fields.CharField', [], {'max_length': '15'}),
49             'file': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}),
50             'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
51             'lesson': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['catalogue.Lesson']"}),
52             'slug': ('django.db.models.fields.CharField', [], {'max_length': '255'})
53         },
54         'catalogue.lesson': {
55             'Meta': {'ordering': "['section', 'level', 'order']", 'object_name': 'Lesson'},
56             'dc': ('jsonfield.fields.JSONField', [], {'default': "'{}'"}),
57             'depth': ('django.db.models.fields.IntegerField', [], {}),
58             'html_file': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
59             'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
60             'level': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['curriculum.Level']"}),
61             'order': ('django.db.models.fields.IntegerField', [], {'db_index': 'True'}),
62             'package': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
63             'pdf': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
64             'section': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['catalogue.Section']", 'null': 'True', 'blank': 'True'}),
65             'slug': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '50'}),
66             'student_package': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
67             'student_pdf': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
68             'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
69             'type': ('django.db.models.fields.CharField', [], {'max_length': '15', 'db_index': 'True'}),
70             'xml_file': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'})
71         },
72         'catalogue.part': {
73             'Meta': {'object_name': 'Part'},
74             'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
75             'lesson': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['catalogue.Lesson']"}),
76             'pdf': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
77             'student_pdf': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'})
78         },
79         'catalogue.section': {
80             'Meta': {'ordering': "['order']", 'object_name': 'Section'},
81             'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
82             'order': ('django.db.models.fields.IntegerField', [], {}),
83             'slug': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '50'}),
84             'title': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'})
85         },
86         'curriculum.level': {
87             'Meta': {'ordering': "['order']", 'object_name': 'Level'},
88             'group': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
89             'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
90             'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
91             'order': ('django.db.models.fields.IntegerField', [], {}),
92             'slug': ('django.db.models.fields.CharField', [], {'max_length': '255'})
93         }
94     }
95
96     complete_apps = ['catalogue']