source: asadb/forms/migrations/0006_person_membership_update.py

space-accessstablestagetest-hooks
Last change on this file was 5b834ab, checked in by Alex Dehnert <adehnert@…>, 14 years ago

Support basic start-of-year form

  • Anti-hazing acknowledgement
  • Group membership information
  • Group membership confirmation
  • Property mode set to 100644
File size: 9.8 KB
Line 
1# encoding: utf-8
2import datetime
3from south.db import db
4from south.v2 import SchemaMigration
5from django.db import models
6
7class Migration(SchemaMigration):
8
9    def forwards(self, orm):
10       
11        # Adding model 'PersonMembershipUpdate'
12        db.create_table('forms_personmembershipupdate', (
13            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
14            ('update_time', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime(1970, 1, 1, 0, 0))),
15            ('username', self.gf('django.db.models.fields.CharField')(max_length=30)),
16        ))
17        db.send_create_signal('forms', ['PersonMembershipUpdate'])
18
19        # Adding M2M table for field groups on 'PersonMembershipUpdate'
20        db.create_table('forms_personmembershipupdate_groups', (
21            ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)),
22            ('personmembershipupdate', models.ForeignKey(orm['forms.personmembershipupdate'], null=False)),
23            ('group', models.ForeignKey(orm['groups.group'], null=False))
24        ))
25        db.create_unique('forms_personmembershipupdate_groups', ['personmembershipupdate_id', 'group_id'])
26
27        # Adding field 'GroupMembershipUpdate.group_email'
28        db.add_column('forms_groupmembershipupdate', 'group_email', self.gf('django.db.models.fields.EmailField')(default='', max_length=75), keep_default=False)
29
30        # Adding field 'GroupMembershipUpdate.officer_email'
31        db.add_column('forms_groupmembershipupdate', 'officer_email', self.gf('django.db.models.fields.EmailField')(default='', max_length=75), keep_default=False)
32
33
34    def backwards(self, orm):
35       
36        # Deleting model 'PersonMembershipUpdate'
37        db.delete_table('forms_personmembershipupdate')
38
39        # Removing M2M table for field groups on 'PersonMembershipUpdate'
40        db.delete_table('forms_personmembershipupdate_groups')
41
42        # Deleting field 'GroupMembershipUpdate.group_email'
43        db.delete_column('forms_groupmembershipupdate', 'group_email')
44
45        # Deleting field 'GroupMembershipUpdate.officer_email'
46        db.delete_column('forms_groupmembershipupdate', 'officer_email')
47
48
49    models = {
50        'forms.fysm': {
51            'Meta': {'object_name': 'FYSM'},
52            'categories': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['forms.FYSMCategory']", 'symmetrical': 'False', 'blank': 'True'}),
53            'contact_email': ('django.db.models.fields.EmailField', [], {'max_length': '75'}),
54            'description': ('django.db.models.fields.TextField', [], {}),
55            'display_name': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
56            'group': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['groups.Group']"}),
57            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
58            'join_preview': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forms.PagePreview']", 'null': 'True'}),
59            'join_url': ('django.db.models.fields.URLField', [], {'max_length': '200'}),
60            'logo': ('django.db.models.fields.files.ImageField', [], {'max_length': '100', 'blank': 'True'}),
61            'slide': ('django.db.models.fields.files.ImageField', [], {'default': "''", 'max_length': '100'}),
62            'tags': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
63            'website': ('django.db.models.fields.URLField', [], {'max_length': '200'}),
64            'year': ('django.db.models.fields.IntegerField', [], {})
65        },
66        'forms.fysmcategory': {
67            'Meta': {'ordering': "['name']", 'object_name': 'FYSMCategory'},
68            'blurb': ('django.db.models.fields.TextField', [], {}),
69            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
70            'name': ('django.db.models.fields.CharField', [], {'max_length': '25'}),
71            'slug': ('django.db.models.fields.SlugField', [], {'max_length': '50', 'db_index': 'True'})
72        },
73        'forms.fysmview': {
74            'Meta': {'object_name': 'FYSMView'},
75            'fysm': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forms.FYSM']", 'null': 'True', 'blank': 'True'}),
76            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
77            'page': ('django.db.models.fields.CharField', [], {'max_length': '20', 'blank': 'True'}),
78            'referer': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True'}),
79            'source_ip': ('django.db.models.fields.IPAddressField', [], {'max_length': '15'}),
80            'source_user': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
81            'user_agent': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
82            'when': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
83            'year': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'})
84        },
85        'forms.groupmembershipupdate': {
86            'Meta': {'object_name': 'GroupMembershipUpdate'},
87            'group': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['groups.Group']"}),
88            'group_email': ('django.db.models.fields.EmailField', [], {'max_length': '75'}),
89            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
90            'membership_definition': ('django.db.models.fields.TextField', [], {}),
91            'membership_list': ('django.db.models.fields.TextField', [], {}),
92            'no_hazing': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
93            'num_community': ('django.db.models.fields.IntegerField', [], {}),
94            'num_grads': ('django.db.models.fields.IntegerField', [], {}),
95            'num_other': ('django.db.models.fields.IntegerField', [], {}),
96            'num_undergrads': ('django.db.models.fields.IntegerField', [], {}),
97            'officer_email': ('django.db.models.fields.EmailField', [], {'max_length': '75'}),
98            'update_time': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(1970, 1, 1, 0, 0)'}),
99            'updater_name': ('django.db.models.fields.CharField', [], {'max_length': '30'}),
100            'updater_title': ('django.db.models.fields.CharField', [], {'max_length': '30'})
101        },
102        'forms.pagepreview': {
103            'Meta': {'object_name': 'PagePreview'},
104            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
105            'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '100', 'blank': 'True'}),
106            'update_time': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(1970, 1, 1, 0, 0)'}),
107            'url': ('django.db.models.fields.URLField', [], {'max_length': '200'})
108        },
109        'forms.personmembershipupdate': {
110            'Meta': {'object_name': 'PersonMembershipUpdate'},
111            'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['groups.Group']", 'symmetrical': 'False'}),
112            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
113            'update_time': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(1970, 1, 1, 0, 0)'}),
114            'username': ('django.db.models.fields.CharField', [], {'max_length': '30'})
115        },
116        'groups.activitycategory': {
117            'Meta': {'object_name': 'ActivityCategory'},
118            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
119            'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
120        },
121        'groups.group': {
122            'Meta': {'ordering': "('name',)", 'object_name': 'Group'},
123            'abbreviation': ('django.db.models.fields.CharField', [], {'max_length': '10', 'blank': 'True'}),
124            'activity_category': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['groups.ActivityCategory']", 'null': 'True', 'blank': 'True'}),
125            'advisor_name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
126            'athena_locker': ('django.db.models.fields.CharField', [], {'max_length': '20', 'blank': 'True'}),
127            'constitution_url': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
128            'description': ('django.db.models.fields.TextField', [], {}),
129            'funding_account_id': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
130            'group_email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
131            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
132            'main_account_id': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
133            'meeting_times': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
134            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
135            'num_community': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
136            'num_grads': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
137            'num_other': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
138            'num_undergrads': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
139            'officer_email': ('django.db.models.fields.EmailField', [], {'max_length': '75'}),
140            'recognition_date': ('django.db.models.fields.DateField', [], {}),
141            'update_date': ('django.db.models.fields.DateTimeField', [], {}),
142            'updater': ('django.db.models.fields.CharField', [], {'max_length': '30'}),
143            'website_url': ('django.db.models.fields.URLField', [], {'max_length': '200'})
144        }
145    }
146
147    complete_apps = ['forms']
Note: See TracBrowser for help on using the repository browser.