diff --git a/symposion/boxes/migrations/0001_initial.py b/symposion/boxes/migrations/0001_initial.py new file mode 100644 index 00000000..7e0f7f75 --- /dev/null +++ b/symposion/boxes/migrations/0001_initial.py @@ -0,0 +1,76 @@ +# -*- coding: utf-8 -*- +from south.utils import datetime_utils as datetime +from south.db import db +from south.v2 import SchemaMigration +from django.db import models + + +class Migration(SchemaMigration): + + def forwards(self, orm): + # Adding model 'Box' + db.create_table('boxes_box', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('label', self.gf('django.db.models.fields.CharField')(max_length=100, db_index=True)), + ('content', self.gf('markitup.fields.MarkupField')(no_rendered_field=True, blank=True)), + ('created_by', self.gf('django.db.models.fields.related.ForeignKey')(related_name='boxes', to=orm['auth.User'])), + ('last_updated_by', self.gf('django.db.models.fields.related.ForeignKey')(related_name='updated_boxes', to=orm['auth.User'])), + ('_content_rendered', self.gf('django.db.models.fields.TextField')(blank=True)), + )) + db.send_create_signal('boxes', ['Box']) + + + def backwards(self, orm): + # Deleting model 'Box' + db.delete_table('boxes_box') + + + models = { + 'auth.group': { + 'Meta': {'object_name': 'Group'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), + 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) + }, + 'auth.permission': { + 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, + 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + }, + 'auth.user': { + 'Meta': {'object_name': 'User'}, + 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), + 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), + 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), + 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) + }, + 'boxes.box': { + 'Meta': {'object_name': 'Box'}, + '_content_rendered': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'content': ('markitup.fields.MarkupField', [], {'no_rendered_field': 'True', 'blank': 'True'}), + 'created_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'boxes'", 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'label': ('django.db.models.fields.CharField', [], {'max_length': '100', 'db_index': 'True'}), + 'last_updated_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'updated_boxes'", 'to': "orm['auth.User']"}) + }, + 'contenttypes.contenttype': { + 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, + 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + } + } + + complete_apps = ['boxes'] \ No newline at end of file diff --git a/symposion/boxes/migrations/__init__.py b/symposion/boxes/migrations/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/symposion/cms/migrations/0001_initial.py b/symposion/cms/migrations/0001_initial.py new file mode 100644 index 00000000..beb391d2 --- /dev/null +++ b/symposion/cms/migrations/0001_initial.py @@ -0,0 +1,83 @@ +# -*- coding: utf-8 -*- +from south.utils import datetime_utils as datetime +from south.db import db +from south.v2 import SchemaMigration +from django.db import models + + +class Migration(SchemaMigration): + + def forwards(self, orm): + # Adding model 'Page' + db.create_table('cms_page', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('title', self.gf('django.db.models.fields.CharField')(max_length=100)), + ('path', self.gf('django.db.models.fields.CharField')(unique=True, max_length=100)), + ('body', self.gf('markitup.fields.MarkupField')(no_rendered_field=True)), + ('status', self.gf('django.db.models.fields.IntegerField')(default=2)), + ('publish_date', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)), + ('created', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)), + ('updated', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)), + ('_body_rendered', self.gf('django.db.models.fields.TextField')(blank=True)), + )) + db.send_create_signal('cms', ['Page']) + + # Adding model 'File' + db.create_table('cms_file', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('file', self.gf('django.db.models.fields.files.FileField')(max_length=100)), + ('created', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)), + )) + db.send_create_signal('cms', ['File']) + + + def backwards(self, orm): + # Deleting model 'Page' + db.delete_table('cms_page') + + # Deleting model 'File' + db.delete_table('cms_file') + + + models = { + 'cms.file': { + 'Meta': {'object_name': 'File'}, + 'created': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'file': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}) + }, + 'cms.page': { + 'Meta': {'object_name': 'Page'}, + '_body_rendered': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'body': ('markitup.fields.MarkupField', [], {'no_rendered_field': 'True'}), + 'created': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'path': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}), + 'publish_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'status': ('django.db.models.fields.IntegerField', [], {'default': '2'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'updated': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}) + }, + 'contenttypes.contenttype': { + 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, + 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'taggit.tag': { + 'Meta': {'object_name': 'Tag'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'slug': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '100'}) + }, + 'taggit.taggeditem': { + 'Meta': {'object_name': 'TaggedItem'}, + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'taggit_taggeditem_tagged_items'", 'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'object_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True'}), + 'tag': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'taggit_taggeditem_items'", 'to': "orm['taggit.Tag']"}) + } + } + + complete_apps = ['cms'] \ No newline at end of file diff --git a/symposion/cms/migrations/__init__.py b/symposion/cms/migrations/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/symposion/conference/migrations/0001_initial.py b/symposion/conference/migrations/0001_initial.py new file mode 100644 index 00000000..7546ca52 --- /dev/null +++ b/symposion/conference/migrations/0001_initial.py @@ -0,0 +1,61 @@ +# -*- coding: utf-8 -*- +from south.utils import datetime_utils as datetime +from south.db import db +from south.v2 import SchemaMigration +from django.db import models + + +class Migration(SchemaMigration): + + def forwards(self, orm): + # Adding model 'Conference' + db.create_table('conference_conference', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('title', self.gf('django.db.models.fields.CharField')(max_length=100)), + ('start_date', self.gf('django.db.models.fields.DateField')(null=True, blank=True)), + ('end_date', self.gf('django.db.models.fields.DateField')(null=True, blank=True)), + ('timezone', self.gf('timezones.fields.TimeZoneField')(default='US/Eastern', max_length=100, blank=True)), + )) + db.send_create_signal('conference', ['Conference']) + + # Adding model 'Section' + db.create_table('conference_section', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('conference', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['conference.Conference'])), + ('name', self.gf('django.db.models.fields.CharField')(max_length=100)), + ('slug', self.gf('django.db.models.fields.SlugField')(max_length=50)), + ('start_date', self.gf('django.db.models.fields.DateField')(null=True, blank=True)), + ('end_date', self.gf('django.db.models.fields.DateField')(null=True, blank=True)), + )) + db.send_create_signal('conference', ['Section']) + + + def backwards(self, orm): + # Deleting model 'Conference' + db.delete_table('conference_conference') + + # Deleting model 'Section' + db.delete_table('conference_section') + + + models = { + 'conference.conference': { + 'Meta': {'object_name': 'Conference'}, + 'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'start_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'timezone': ('timezones.fields.TimeZoneField', [], {'default': "'US/Eastern'", 'max_length': '100', 'blank': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'conference.section': { + 'Meta': {'ordering': "['start_date']", 'object_name': 'Section'}, + 'conference': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['conference.Conference']"}), + 'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'slug': ('django.db.models.fields.SlugField', [], {'max_length': '50'}), + 'start_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}) + } + } + + complete_apps = ['conference'] \ No newline at end of file diff --git a/symposion/conference/migrations/__init__.py b/symposion/conference/migrations/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/symposion/conference/models.py b/symposion/conference/models.py index 4bb6b8ce..db09050f 100644 --- a/symposion/conference/models.py +++ b/symposion/conference/models.py @@ -3,6 +3,9 @@ from django.utils.translation import ugettext_lazy as _ from timezones.fields import TimeZoneField +from south.modelsinspector import add_introspection_rules +add_introspection_rules([], [r"^timezones\.fields\.TimeZoneField"]) + CONFERENCE_CACHE = {} @@ -11,24 +14,24 @@ class Conference(models.Model): """ the full conference for a specific year, e.g. US PyCon 2012. """ - + title = models.CharField(_("title"), max_length=100) - + # when the conference runs start_date = models.DateField(_("start date"), null=True, blank=True) end_date = models.DateField(_("end date"), null=True, blank=True) - + # timezone the conference is in timezone = TimeZoneField(_("timezone"), blank=True) - + def __unicode__(self): return self.title - + def save(self, *args, **kwargs): super(Conference, self).save(*args, **kwargs) if self.id in CONFERENCE_CACHE: del CONFERENCE_CACHE[self.id] - + def delete(self): pk = self.pk super(Conference, self).delete() @@ -36,7 +39,7 @@ class Conference(models.Model): del CONFERENCE_CACHE[pk] except KeyError: pass - + class Meta(object): verbose_name = _("conference") verbose_name_plural = _("conferences") @@ -48,19 +51,19 @@ class Section(models.Model): "Talks", "Expo", "Sprints", that may have its own review and scheduling process. """ - + conference = models.ForeignKey(Conference, verbose_name=_("conference")) - + name = models.CharField(_("name"), max_length=100) slug = models.SlugField() # when the section runs start_date = models.DateField(_("start date"), null=True, blank=True) end_date = models.DateField(_("end date"), null=True, blank=True) - + def __unicode__(self): return "%s %s" % (self.conference, self.name) - + class Meta(object): verbose_name = _("section") verbose_name_plural = _("sections") diff --git a/symposion/proposals/migrations/0001_initial.py b/symposion/proposals/migrations/0001_initial.py new file mode 100644 index 00000000..c1fb4940 --- /dev/null +++ b/symposion/proposals/migrations/0001_initial.py @@ -0,0 +1,254 @@ +# -*- 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): + # Adding model 'ProposalSection' + db.create_table('proposals_proposalsection', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('section', self.gf('django.db.models.fields.related.OneToOneField')(to=orm['conference.Section'], unique=True)), + ('start', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True)), + ('end', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True)), + ('closed', self.gf('django.db.models.fields.NullBooleanField')(null=True, blank=True)), + ('published', self.gf('django.db.models.fields.NullBooleanField')(null=True, blank=True)), + )) + db.send_create_signal('proposals', ['ProposalSection']) + + # Adding model 'ProposalKind' + db.create_table('proposals_proposalkind', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('section', self.gf('django.db.models.fields.related.ForeignKey')(related_name='proposal_kinds', to=orm['conference.Section'])), + ('name', self.gf('django.db.models.fields.CharField')(max_length=100)), + ('slug', self.gf('django.db.models.fields.SlugField')(max_length=50)), + )) + db.send_create_signal('proposals', ['ProposalKind']) + + # Adding model 'ProposalBase' + db.create_table('proposals_proposalbase', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('kind', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['proposals.ProposalKind'])), + ('title', self.gf('django.db.models.fields.CharField')(max_length=100)), + ('description', self.gf('django.db.models.fields.TextField')(max_length=400)), + ('abstract', self.gf('markitup.fields.MarkupField')(no_rendered_field=True)), + ('additional_notes', self.gf('markitup.fields.MarkupField')(no_rendered_field=True, blank=True)), + ('submitted', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)), + ('speaker', self.gf('django.db.models.fields.related.ForeignKey')(related_name='proposals', to=orm['speakers.Speaker'])), + ('cancelled', self.gf('django.db.models.fields.BooleanField')(default=False)), + ('_abstract_rendered', self.gf('django.db.models.fields.TextField')(blank=True)), + ('_additional_notes_rendered', self.gf('django.db.models.fields.TextField')(blank=True)), + )) + db.send_create_signal('proposals', ['ProposalBase']) + + # Adding model 'AdditionalSpeaker' + db.create_table('proposals_proposalbase_additional_speakers', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('speaker', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['speakers.Speaker'])), + ('proposalbase', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['proposals.ProposalBase'])), + ('status', self.gf('django.db.models.fields.IntegerField')(default=1)), + )) + db.send_create_signal('proposals', ['AdditionalSpeaker']) + + # Adding unique constraint on 'AdditionalSpeaker', fields ['speaker', 'proposalbase'] + db.create_unique('proposals_proposalbase_additional_speakers', ['speaker_id', 'proposalbase_id']) + + # Adding model 'SupportingDocument' + db.create_table('proposals_supportingdocument', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('proposal', self.gf('django.db.models.fields.related.ForeignKey')(related_name='supporting_documents', to=orm['proposals.ProposalBase'])), + ('uploaded_by', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'])), + ('created_at', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)), + ('file', self.gf('django.db.models.fields.files.FileField')(max_length=100)), + ('description', self.gf('django.db.models.fields.CharField')(max_length=140)), + )) + db.send_create_signal('proposals', ['SupportingDocument']) + + # Adding model 'TalkProposal' + db.create_table('proposals_talkproposal', ( + ('proposalbase_ptr', self.gf('django.db.models.fields.related.OneToOneField')(to=orm['proposals.ProposalBase'], unique=True, primary_key=True)), + ('audience_level', self.gf('django.db.models.fields.IntegerField')()), + ('recording_release', self.gf('django.db.models.fields.BooleanField')(default=True)), + )) + db.send_create_signal('proposals', ['TalkProposal']) + + # Adding model 'TutorialProposal' + db.create_table('proposals_tutorialproposal', ( + ('proposalbase_ptr', self.gf('django.db.models.fields.related.OneToOneField')(to=orm['proposals.ProposalBase'], unique=True, primary_key=True)), + ('audience_level', self.gf('django.db.models.fields.IntegerField')()), + ('recording_release', self.gf('django.db.models.fields.BooleanField')(default=True)), + )) + db.send_create_signal('proposals', ['TutorialProposal']) + + # Adding model 'OpenSpaceProposal' + db.create_table('proposals_openspaceproposal', ( + ('proposalbase_ptr', self.gf('django.db.models.fields.related.OneToOneField')(to=orm['proposals.ProposalBase'], unique=True, primary_key=True)), + )) + db.send_create_signal('proposals', ['OpenSpaceProposal']) + + + def backwards(self, orm): + # Removing unique constraint on 'AdditionalSpeaker', fields ['speaker', 'proposalbase'] + db.delete_unique('proposals_proposalbase_additional_speakers', ['speaker_id', 'proposalbase_id']) + + # Deleting model 'ProposalSection' + db.delete_table('proposals_proposalsection') + + # Deleting model 'ProposalKind' + db.delete_table('proposals_proposalkind') + + # Deleting model 'ProposalBase' + db.delete_table('proposals_proposalbase') + + # Deleting model 'AdditionalSpeaker' + db.delete_table('proposals_proposalbase_additional_speakers') + + # Deleting model 'SupportingDocument' + db.delete_table('proposals_supportingdocument') + + # Deleting model 'TalkProposal' + db.delete_table('proposals_talkproposal') + + # Deleting model 'TutorialProposal' + db.delete_table('proposals_tutorialproposal') + + # Deleting model 'OpenSpaceProposal' + db.delete_table('proposals_openspaceproposal') + + + models = { + 'auth.group': { + 'Meta': {'object_name': 'Group'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), + 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) + }, + 'auth.permission': { + 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, + 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + }, + 'auth.user': { + 'Meta': {'object_name': 'User'}, + 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), + 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), + 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), + 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) + }, + 'conference.conference': { + 'Meta': {'object_name': 'Conference'}, + 'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'start_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'timezone': ('timezones.fields.TimeZoneField', [], {'default': "'US/Eastern'", 'max_length': '100', 'blank': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'conference.section': { + 'Meta': {'ordering': "['start_date']", 'object_name': 'Section'}, + 'conference': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['conference.Conference']"}), + 'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'slug': ('django.db.models.fields.SlugField', [], {'max_length': '50'}), + 'start_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}) + }, + 'contenttypes.contenttype': { + 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, + 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'proposals.additionalspeaker': { + 'Meta': {'unique_together': "(('speaker', 'proposalbase'),)", 'object_name': 'AdditionalSpeaker', 'db_table': "'proposals_proposalbase_additional_speakers'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'proposalbase': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['proposals.ProposalBase']"}), + 'speaker': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['speakers.Speaker']"}), + 'status': ('django.db.models.fields.IntegerField', [], {'default': '1'}) + }, + 'proposals.openspaceproposal': { + 'Meta': {'object_name': 'OpenSpaceProposal', '_ormbases': ['proposals.ProposalBase']}, + 'proposalbase_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['proposals.ProposalBase']", 'unique': 'True', 'primary_key': 'True'}) + }, + 'proposals.proposalbase': { + 'Meta': {'object_name': 'ProposalBase'}, + '_abstract_rendered': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + '_additional_notes_rendered': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'abstract': ('markitup.fields.MarkupField', [], {'no_rendered_field': 'True'}), + 'additional_notes': ('markitup.fields.MarkupField', [], {'no_rendered_field': 'True', 'blank': 'True'}), + 'additional_speakers': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['speakers.Speaker']", 'symmetrical': 'False', 'through': "orm['proposals.AdditionalSpeaker']", 'blank': 'True'}), + 'cancelled': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'description': ('django.db.models.fields.TextField', [], {'max_length': '400'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'kind': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['proposals.ProposalKind']"}), + 'speaker': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'proposals'", 'to': "orm['speakers.Speaker']"}), + 'submitted': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'proposals.proposalkind': { + 'Meta': {'object_name': 'ProposalKind'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'section': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'proposal_kinds'", 'to': "orm['conference.Section']"}), + 'slug': ('django.db.models.fields.SlugField', [], {'max_length': '50'}) + }, + 'proposals.proposalsection': { + 'Meta': {'object_name': 'ProposalSection'}, + 'closed': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'end': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'published': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'section': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['conference.Section']", 'unique': 'True'}), + 'start': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}) + }, + 'proposals.supportingdocument': { + 'Meta': {'object_name': 'SupportingDocument'}, + 'created_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'description': ('django.db.models.fields.CharField', [], {'max_length': '140'}), + 'file': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'proposal': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'supporting_documents'", 'to': "orm['proposals.ProposalBase']"}), + 'uploaded_by': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'proposals.talkproposal': { + 'Meta': {'object_name': 'TalkProposal'}, + 'audience_level': ('django.db.models.fields.IntegerField', [], {}), + 'proposalbase_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['proposals.ProposalBase']", 'unique': 'True', 'primary_key': 'True'}), + 'recording_release': ('django.db.models.fields.BooleanField', [], {'default': 'True'}) + }, + 'proposals.tutorialproposal': { + 'Meta': {'object_name': 'TutorialProposal'}, + 'audience_level': ('django.db.models.fields.IntegerField', [], {}), + 'proposalbase_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['proposals.ProposalBase']", 'unique': 'True', 'primary_key': 'True'}), + 'recording_release': ('django.db.models.fields.BooleanField', [], {'default': 'True'}) + }, + 'speakers.speaker': { + 'Meta': {'ordering': "['name']", 'object_name': 'Speaker'}, + '_biography_rendered': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'annotation': ('django.db.models.fields.TextField', [], {}), + 'biography': ('markitup.fields.MarkupField', [], {'no_rendered_field': 'True', 'blank': 'True'}), + 'created': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'invite_email': ('django.db.models.fields.CharField', [], {'max_length': '200', 'unique': 'True', 'null': 'True', 'db_index': 'True'}), + 'invite_token': ('django.db.models.fields.CharField', [], {'max_length': '40', 'db_index': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'photo': ('django.db.models.fields.files.ImageField', [], {'max_length': '100', 'blank': 'True'}), + 'user': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'speaker_profile'", 'unique': 'True', 'null': 'True', 'to': "orm['auth.User']"}) + } + } + + complete_apps = ['proposals'] \ No newline at end of file diff --git a/symposion/proposals/migrations/__init__.py b/symposion/proposals/migrations/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/symposion/reviews/migrations/0001_initial.py b/symposion/reviews/migrations/0001_initial.py new file mode 100644 index 00000000..76df4e2f --- /dev/null +++ b/symposion/reviews/migrations/0001_initial.py @@ -0,0 +1,316 @@ +# -*- coding: utf-8 -*- +from south.utils import datetime_utils as datetime +from south.db import db +from south.v2 import SchemaMigration +from django.db import models + + +class Migration(SchemaMigration): + + def forwards(self, orm): + # Adding model 'ReviewAssignment' + db.create_table('reviews_reviewassignment', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('proposal', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['proposals.ProposalBase'])), + ('user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'])), + ('origin', self.gf('django.db.models.fields.IntegerField')()), + ('assigned_at', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)), + ('opted_out', self.gf('django.db.models.fields.BooleanField')(default=False)), + )) + db.send_create_signal('reviews', ['ReviewAssignment']) + + # Adding model 'ProposalMessage' + db.create_table('reviews_proposalmessage', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('proposal', self.gf('django.db.models.fields.related.ForeignKey')(related_name='messages', to=orm['proposals.ProposalBase'])), + ('user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'])), + ('message', self.gf('markitup.fields.MarkupField')(no_rendered_field=True)), + ('submitted_at', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)), + ('_message_rendered', self.gf('django.db.models.fields.TextField')(blank=True)), + )) + db.send_create_signal('reviews', ['ProposalMessage']) + + # Adding model 'Review' + db.create_table('reviews_review', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('proposal', self.gf('django.db.models.fields.related.ForeignKey')(related_name='reviews', to=orm['proposals.ProposalBase'])), + ('user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'])), + ('vote', self.gf('django.db.models.fields.CharField')(max_length=2, blank=True)), + ('comment', self.gf('markitup.fields.MarkupField')(no_rendered_field=True)), + ('submitted_at', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)), + ('_comment_rendered', self.gf('django.db.models.fields.TextField')(blank=True)), + )) + db.send_create_signal('reviews', ['Review']) + + # Adding model 'LatestVote' + db.create_table('reviews_latestvote', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('proposal', self.gf('django.db.models.fields.related.ForeignKey')(related_name='votes', to=orm['proposals.ProposalBase'])), + ('user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'])), + ('vote', self.gf('django.db.models.fields.CharField')(max_length=2)), + ('submitted_at', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)), + )) + db.send_create_signal('reviews', ['LatestVote']) + + # Adding unique constraint on 'LatestVote', fields ['proposal', 'user'] + db.create_unique('reviews_latestvote', ['proposal_id', 'user_id']) + + # Adding model 'ProposalResult' + db.create_table('reviews_proposalresult', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('proposal', self.gf('django.db.models.fields.related.OneToOneField')(related_name='result', unique=True, to=orm['proposals.ProposalBase'])), + ('score', self.gf('django.db.models.fields.DecimalField')(default='0.00', max_digits=5, decimal_places=2)), + ('comment_count', self.gf('django.db.models.fields.PositiveIntegerField')(default=0)), + ('vote_count', self.gf('django.db.models.fields.PositiveIntegerField')(default=0)), + ('plus_one', self.gf('django.db.models.fields.PositiveIntegerField')(default=0)), + ('plus_zero', self.gf('django.db.models.fields.PositiveIntegerField')(default=0)), + ('minus_zero', self.gf('django.db.models.fields.PositiveIntegerField')(default=0)), + ('minus_one', self.gf('django.db.models.fields.PositiveIntegerField')(default=0)), + ('accepted', self.gf('django.db.models.fields.NullBooleanField')(default=None, null=True, blank=True)), + ('status', self.gf('django.db.models.fields.CharField')(default='undecided', max_length=20)), + )) + db.send_create_signal('reviews', ['ProposalResult']) + + # Adding model 'Comment' + db.create_table('reviews_comment', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('proposal', self.gf('django.db.models.fields.related.ForeignKey')(related_name='comments', to=orm['proposals.ProposalBase'])), + ('commenter', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'])), + ('text', self.gf('markitup.fields.MarkupField')(no_rendered_field=True)), + ('public', self.gf('django.db.models.fields.BooleanField')(default=False)), + ('commented_at', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)), + ('_text_rendered', self.gf('django.db.models.fields.TextField')(blank=True)), + )) + db.send_create_signal('reviews', ['Comment']) + + # Adding model 'NotificationTemplate' + db.create_table('reviews_notificationtemplate', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('label', self.gf('django.db.models.fields.CharField')(max_length=100)), + ('from_address', self.gf('django.db.models.fields.EmailField')(max_length=75)), + ('subject', self.gf('django.db.models.fields.CharField')(max_length=100)), + ('body', self.gf('django.db.models.fields.TextField')()), + )) + db.send_create_signal('reviews', ['NotificationTemplate']) + + # Adding model 'ResultNotification' + db.create_table('reviews_resultnotification', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('proposal', self.gf('django.db.models.fields.related.ForeignKey')(related_name='notifications', to=orm['proposals.ProposalBase'])), + ('template', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['reviews.NotificationTemplate'], null=True, on_delete=models.SET_NULL, blank=True)), + ('timestamp', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)), + ('to_address', self.gf('django.db.models.fields.EmailField')(max_length=75)), + ('from_address', self.gf('django.db.models.fields.EmailField')(max_length=75)), + ('subject', self.gf('django.db.models.fields.CharField')(max_length=100)), + ('body', self.gf('django.db.models.fields.TextField')()), + )) + db.send_create_signal('reviews', ['ResultNotification']) + + + def backwards(self, orm): + # Removing unique constraint on 'LatestVote', fields ['proposal', 'user'] + db.delete_unique('reviews_latestvote', ['proposal_id', 'user_id']) + + # Deleting model 'ReviewAssignment' + db.delete_table('reviews_reviewassignment') + + # Deleting model 'ProposalMessage' + db.delete_table('reviews_proposalmessage') + + # Deleting model 'Review' + db.delete_table('reviews_review') + + # Deleting model 'LatestVote' + db.delete_table('reviews_latestvote') + + # Deleting model 'ProposalResult' + db.delete_table('reviews_proposalresult') + + # Deleting model 'Comment' + db.delete_table('reviews_comment') + + # Deleting model 'NotificationTemplate' + db.delete_table('reviews_notificationtemplate') + + # Deleting model 'ResultNotification' + db.delete_table('reviews_resultnotification') + + + models = { + 'auth.group': { + 'Meta': {'object_name': 'Group'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), + 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) + }, + 'auth.permission': { + 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, + 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + }, + 'auth.user': { + 'Meta': {'object_name': 'User'}, + 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), + 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), + 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), + 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) + }, + 'conference.conference': { + 'Meta': {'object_name': 'Conference'}, + 'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'start_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'timezone': ('timezones.fields.TimeZoneField', [], {'default': "'US/Eastern'", 'max_length': '100', 'blank': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'conference.section': { + 'Meta': {'ordering': "['start_date']", 'object_name': 'Section'}, + 'conference': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['conference.Conference']"}), + 'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'slug': ('django.db.models.fields.SlugField', [], {'max_length': '50'}), + 'start_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}) + }, + 'contenttypes.contenttype': { + 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, + 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'proposals.additionalspeaker': { + 'Meta': {'unique_together': "(('speaker', 'proposalbase'),)", 'object_name': 'AdditionalSpeaker', 'db_table': "'proposals_proposalbase_additional_speakers'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'proposalbase': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['proposals.ProposalBase']"}), + 'speaker': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['speakers.Speaker']"}), + 'status': ('django.db.models.fields.IntegerField', [], {'default': '1'}) + }, + 'proposals.proposalbase': { + 'Meta': {'object_name': 'ProposalBase'}, + '_abstract_rendered': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + '_additional_notes_rendered': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'abstract': ('markitup.fields.MarkupField', [], {'no_rendered_field': 'True'}), + 'additional_notes': ('markitup.fields.MarkupField', [], {'no_rendered_field': 'True', 'blank': 'True'}), + 'additional_speakers': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['speakers.Speaker']", 'symmetrical': 'False', 'through': "orm['proposals.AdditionalSpeaker']", 'blank': 'True'}), + 'cancelled': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'description': ('django.db.models.fields.TextField', [], {'max_length': '400'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'kind': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['proposals.ProposalKind']"}), + 'speaker': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'proposals'", 'to': "orm['speakers.Speaker']"}), + 'submitted': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'proposals.proposalkind': { + 'Meta': {'object_name': 'ProposalKind'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'section': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'proposal_kinds'", 'to': "orm['conference.Section']"}), + 'slug': ('django.db.models.fields.SlugField', [], {'max_length': '50'}) + }, + 'reviews.comment': { + 'Meta': {'object_name': 'Comment'}, + '_text_rendered': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'commented_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'commenter': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'proposal': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'comments'", 'to': "orm['proposals.ProposalBase']"}), + 'public': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'text': ('markitup.fields.MarkupField', [], {'no_rendered_field': 'True'}) + }, + 'reviews.latestvote': { + 'Meta': {'unique_together': "[('proposal', 'user')]", 'object_name': 'LatestVote'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'proposal': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'votes'", 'to': "orm['proposals.ProposalBase']"}), + 'submitted_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}), + 'vote': ('django.db.models.fields.CharField', [], {'max_length': '2'}) + }, + 'reviews.notificationtemplate': { + 'Meta': {'object_name': 'NotificationTemplate'}, + 'body': ('django.db.models.fields.TextField', [], {}), + 'from_address': ('django.db.models.fields.EmailField', [], {'max_length': '75'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'subject': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'reviews.proposalmessage': { + 'Meta': {'ordering': "['submitted_at']", 'object_name': 'ProposalMessage'}, + '_message_rendered': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'message': ('markitup.fields.MarkupField', [], {'no_rendered_field': 'True'}), + 'proposal': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'messages'", 'to': "orm['proposals.ProposalBase']"}), + 'submitted_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'reviews.proposalresult': { + 'Meta': {'object_name': 'ProposalResult'}, + 'accepted': ('django.db.models.fields.NullBooleanField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}), + 'comment_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'minus_one': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'minus_zero': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'plus_one': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'plus_zero': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'proposal': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'result'", 'unique': 'True', 'to': "orm['proposals.ProposalBase']"}), + 'score': ('django.db.models.fields.DecimalField', [], {'default': "'0.00'", 'max_digits': '5', 'decimal_places': '2'}), + 'status': ('django.db.models.fields.CharField', [], {'default': "'undecided'", 'max_length': '20'}), + 'vote_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}) + }, + 'reviews.resultnotification': { + 'Meta': {'object_name': 'ResultNotification'}, + 'body': ('django.db.models.fields.TextField', [], {}), + 'from_address': ('django.db.models.fields.EmailField', [], {'max_length': '75'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'proposal': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'notifications'", 'to': "orm['proposals.ProposalBase']"}), + 'subject': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'template': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['reviews.NotificationTemplate']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}), + 'timestamp': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'to_address': ('django.db.models.fields.EmailField', [], {'max_length': '75'}) + }, + 'reviews.review': { + 'Meta': {'object_name': 'Review'}, + '_comment_rendered': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'comment': ('markitup.fields.MarkupField', [], {'no_rendered_field': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'proposal': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'reviews'", 'to': "orm['proposals.ProposalBase']"}), + 'submitted_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}), + 'vote': ('django.db.models.fields.CharField', [], {'max_length': '2', 'blank': 'True'}) + }, + 'reviews.reviewassignment': { + 'Meta': {'object_name': 'ReviewAssignment'}, + 'assigned_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'opted_out': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'origin': ('django.db.models.fields.IntegerField', [], {}), + 'proposal': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['proposals.ProposalBase']"}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'speakers.speaker': { + 'Meta': {'ordering': "['name']", 'object_name': 'Speaker'}, + '_biography_rendered': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'annotation': ('django.db.models.fields.TextField', [], {}), + 'biography': ('markitup.fields.MarkupField', [], {'no_rendered_field': 'True', 'blank': 'True'}), + 'created': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'invite_email': ('django.db.models.fields.CharField', [], {'max_length': '200', 'unique': 'True', 'null': 'True', 'db_index': 'True'}), + 'invite_token': ('django.db.models.fields.CharField', [], {'max_length': '40', 'db_index': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'photo': ('django.db.models.fields.files.ImageField', [], {'max_length': '100', 'blank': 'True'}), + 'user': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'speaker_profile'", 'unique': 'True', 'null': 'True', 'to': "orm['auth.User']"}) + } + } + + complete_apps = ['reviews'] \ No newline at end of file diff --git a/symposion/reviews/migrations/__init__.py b/symposion/reviews/migrations/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/symposion/schedule/migrations/0001_initial.py b/symposion/schedule/migrations/0001_initial.py new file mode 100644 index 00000000..3798087d --- /dev/null +++ b/symposion/schedule/migrations/0001_initial.py @@ -0,0 +1,284 @@ +# -*- coding: utf-8 -*- +from south.utils import datetime_utils as datetime +from south.db import db +from south.v2 import SchemaMigration +from django.db import models + + +class Migration(SchemaMigration): + + def forwards(self, orm): + # Adding model 'Schedule' + db.create_table('schedule_schedule', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('section', self.gf('django.db.models.fields.related.OneToOneField')(to=orm['conference.Section'], unique=True)), + ('published', self.gf('django.db.models.fields.BooleanField')(default=True)), + ('hidden', self.gf('django.db.models.fields.BooleanField')(default=False)), + )) + db.send_create_signal('schedule', ['Schedule']) + + # Adding model 'Day' + db.create_table('schedule_day', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('schedule', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['schedule.Schedule'])), + ('date', self.gf('django.db.models.fields.DateField')()), + )) + db.send_create_signal('schedule', ['Day']) + + # Adding unique constraint on 'Day', fields ['schedule', 'date'] + db.create_unique('schedule_day', ['schedule_id', 'date']) + + # Adding model 'Room' + db.create_table('schedule_room', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('schedule', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['schedule.Schedule'])), + ('name', self.gf('django.db.models.fields.CharField')(max_length=65)), + ('order', self.gf('django.db.models.fields.PositiveIntegerField')()), + )) + db.send_create_signal('schedule', ['Room']) + + # Adding model 'SlotKind' + db.create_table('schedule_slotkind', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('schedule', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['schedule.Schedule'])), + ('label', self.gf('django.db.models.fields.CharField')(max_length=50)), + )) + db.send_create_signal('schedule', ['SlotKind']) + + # Adding model 'Slot' + db.create_table('schedule_slot', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('day', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['schedule.Day'])), + ('kind', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['schedule.SlotKind'])), + ('start', self.gf('django.db.models.fields.TimeField')()), + ('end', self.gf('django.db.models.fields.TimeField')()), + ('content_override', self.gf('markitup.fields.MarkupField')(no_rendered_field=True, blank=True)), + ('_content_override_rendered', self.gf('django.db.models.fields.TextField')(blank=True)), + )) + db.send_create_signal('schedule', ['Slot']) + + # Adding model 'SlotRoom' + db.create_table('schedule_slotroom', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('slot', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['schedule.Slot'])), + ('room', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['schedule.Room'])), + )) + db.send_create_signal('schedule', ['SlotRoom']) + + # Adding unique constraint on 'SlotRoom', fields ['slot', 'room'] + db.create_unique('schedule_slotroom', ['slot_id', 'room_id']) + + # Adding model 'Presentation' + db.create_table('schedule_presentation', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('slot', self.gf('django.db.models.fields.related.OneToOneField')(blank=True, related_name='content_ptr', unique=True, null=True, to=orm['schedule.Slot'])), + ('title', self.gf('django.db.models.fields.CharField')(max_length=100)), + ('description', self.gf('markitup.fields.MarkupField')(no_rendered_field=True)), + ('abstract', self.gf('markitup.fields.MarkupField')(no_rendered_field=True)), + ('speaker', self.gf('django.db.models.fields.related.ForeignKey')(related_name='presentations', to=orm['speakers.Speaker'])), + ('cancelled', self.gf('django.db.models.fields.BooleanField')(default=False)), + ('proposal_base', self.gf('django.db.models.fields.related.OneToOneField')(related_name='presentation', unique=True, to=orm['proposals.ProposalBase'])), + ('section', self.gf('django.db.models.fields.related.ForeignKey')(related_name='presentations', to=orm['conference.Section'])), + ('_description_rendered', self.gf('django.db.models.fields.TextField')(blank=True)), + ('_abstract_rendered', self.gf('django.db.models.fields.TextField')(blank=True)), + )) + db.send_create_signal('schedule', ['Presentation']) + + # Adding M2M table for field additional_speakers on 'Presentation' + m2m_table_name = db.shorten_name('schedule_presentation_additional_speakers') + db.create_table(m2m_table_name, ( + ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), + ('presentation', models.ForeignKey(orm['schedule.presentation'], null=False)), + ('speaker', models.ForeignKey(orm['speakers.speaker'], null=False)) + )) + db.create_unique(m2m_table_name, ['presentation_id', 'speaker_id']) + + + def backwards(self, orm): + # Removing unique constraint on 'SlotRoom', fields ['slot', 'room'] + db.delete_unique('schedule_slotroom', ['slot_id', 'room_id']) + + # Removing unique constraint on 'Day', fields ['schedule', 'date'] + db.delete_unique('schedule_day', ['schedule_id', 'date']) + + # Deleting model 'Schedule' + db.delete_table('schedule_schedule') + + # Deleting model 'Day' + db.delete_table('schedule_day') + + # Deleting model 'Room' + db.delete_table('schedule_room') + + # Deleting model 'SlotKind' + db.delete_table('schedule_slotkind') + + # Deleting model 'Slot' + db.delete_table('schedule_slot') + + # Deleting model 'SlotRoom' + db.delete_table('schedule_slotroom') + + # Deleting model 'Presentation' + db.delete_table('schedule_presentation') + + # Removing M2M table for field additional_speakers on 'Presentation' + db.delete_table(db.shorten_name('schedule_presentation_additional_speakers')) + + + models = { + 'auth.group': { + 'Meta': {'object_name': 'Group'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), + 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) + }, + 'auth.permission': { + 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, + 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + }, + 'auth.user': { + 'Meta': {'object_name': 'User'}, + 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), + 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), + 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), + 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) + }, + 'conference.conference': { + 'Meta': {'object_name': 'Conference'}, + 'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'start_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'timezone': ('timezones.fields.TimeZoneField', [], {'default': "'US/Eastern'", 'max_length': '100', 'blank': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'conference.section': { + 'Meta': {'ordering': "['start_date']", 'object_name': 'Section'}, + 'conference': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['conference.Conference']"}), + 'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'slug': ('django.db.models.fields.SlugField', [], {'max_length': '50'}), + 'start_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}) + }, + 'contenttypes.contenttype': { + 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, + 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'proposals.additionalspeaker': { + 'Meta': {'unique_together': "(('speaker', 'proposalbase'),)", 'object_name': 'AdditionalSpeaker', 'db_table': "'proposals_proposalbase_additional_speakers'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'proposalbase': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['proposals.ProposalBase']"}), + 'speaker': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['speakers.Speaker']"}), + 'status': ('django.db.models.fields.IntegerField', [], {'default': '1'}) + }, + 'proposals.proposalbase': { + 'Meta': {'object_name': 'ProposalBase'}, + '_abstract_rendered': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + '_additional_notes_rendered': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'abstract': ('markitup.fields.MarkupField', [], {'no_rendered_field': 'True'}), + 'additional_notes': ('markitup.fields.MarkupField', [], {'no_rendered_field': 'True', 'blank': 'True'}), + 'additional_speakers': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['speakers.Speaker']", 'symmetrical': 'False', 'through': "orm['proposals.AdditionalSpeaker']", 'blank': 'True'}), + 'cancelled': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'description': ('django.db.models.fields.TextField', [], {'max_length': '400'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'kind': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['proposals.ProposalKind']"}), + 'speaker': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'proposals'", 'to': "orm['speakers.Speaker']"}), + 'submitted': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'proposals.proposalkind': { + 'Meta': {'object_name': 'ProposalKind'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'section': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'proposal_kinds'", 'to': "orm['conference.Section']"}), + 'slug': ('django.db.models.fields.SlugField', [], {'max_length': '50'}) + }, + 'schedule.day': { + 'Meta': {'ordering': "['date']", 'unique_together': "[('schedule', 'date')]", 'object_name': 'Day'}, + 'date': ('django.db.models.fields.DateField', [], {}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'schedule': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['schedule.Schedule']"}) + }, + 'schedule.presentation': { + 'Meta': {'ordering': "['slot']", 'object_name': 'Presentation'}, + '_abstract_rendered': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + '_description_rendered': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'abstract': ('markitup.fields.MarkupField', [], {'no_rendered_field': 'True'}), + 'additional_speakers': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "'copresentations'", 'blank': 'True', 'to': "orm['speakers.Speaker']"}), + 'cancelled': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'description': ('markitup.fields.MarkupField', [], {'no_rendered_field': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'proposal_base': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'presentation'", 'unique': 'True', 'to': "orm['proposals.ProposalBase']"}), + 'section': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'presentations'", 'to': "orm['conference.Section']"}), + 'slot': ('django.db.models.fields.related.OneToOneField', [], {'blank': 'True', 'related_name': "'content_ptr'", 'unique': 'True', 'null': 'True', 'to': "orm['schedule.Slot']"}), + 'speaker': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'presentations'", 'to': "orm['speakers.Speaker']"}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'schedule.room': { + 'Meta': {'object_name': 'Room'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '65'}), + 'order': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'schedule': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['schedule.Schedule']"}) + }, + 'schedule.schedule': { + 'Meta': {'ordering': "['section']", 'object_name': 'Schedule'}, + 'hidden': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'published': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'section': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['conference.Section']", 'unique': 'True'}) + }, + 'schedule.slot': { + 'Meta': {'ordering': "['day', 'start', 'end']", 'object_name': 'Slot'}, + '_content_override_rendered': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'content_override': ('markitup.fields.MarkupField', [], {'no_rendered_field': 'True', 'blank': 'True'}), + 'day': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['schedule.Day']"}), + 'end': ('django.db.models.fields.TimeField', [], {}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'kind': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['schedule.SlotKind']"}), + 'start': ('django.db.models.fields.TimeField', [], {}) + }, + 'schedule.slotkind': { + 'Meta': {'object_name': 'SlotKind'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'label': ('django.db.models.fields.CharField', [], {'max_length': '50'}), + 'schedule': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['schedule.Schedule']"}) + }, + 'schedule.slotroom': { + 'Meta': {'ordering': "['slot', 'room__order']", 'unique_together': "[('slot', 'room')]", 'object_name': 'SlotRoom'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'room': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['schedule.Room']"}), + 'slot': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['schedule.Slot']"}) + }, + 'speakers.speaker': { + 'Meta': {'ordering': "['name']", 'object_name': 'Speaker'}, + '_biography_rendered': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'annotation': ('django.db.models.fields.TextField', [], {}), + 'biography': ('markitup.fields.MarkupField', [], {'no_rendered_field': 'True', 'blank': 'True'}), + 'created': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'invite_email': ('django.db.models.fields.CharField', [], {'max_length': '200', 'unique': 'True', 'null': 'True', 'db_index': 'True'}), + 'invite_token': ('django.db.models.fields.CharField', [], {'max_length': '40', 'db_index': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'photo': ('django.db.models.fields.files.ImageField', [], {'max_length': '100', 'blank': 'True'}), + 'user': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'speaker_profile'", 'unique': 'True', 'null': 'True', 'to': "orm['auth.User']"}) + } + } + + complete_apps = ['schedule'] \ No newline at end of file diff --git a/symposion/schedule/migrations/__init__.py b/symposion/schedule/migrations/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/symposion/speakers/migrations/0001_initial.py b/symposion/speakers/migrations/0001_initial.py new file mode 100644 index 00000000..1db93f8c --- /dev/null +++ b/symposion/speakers/migrations/0001_initial.py @@ -0,0 +1,84 @@ +# -*- coding: utf-8 -*- +from south.utils import datetime_utils as datetime +from south.db import db +from south.v2 import SchemaMigration +from django.db import models + + +class Migration(SchemaMigration): + + def forwards(self, orm): + # Adding model 'Speaker' + db.create_table('speakers_speaker', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('user', self.gf('django.db.models.fields.related.OneToOneField')(related_name='speaker_profile', unique=True, null=True, to=orm['auth.User'])), + ('name', self.gf('django.db.models.fields.CharField')(max_length=100)), + ('biography', self.gf('markitup.fields.MarkupField')(no_rendered_field=True, blank=True)), + ('photo', self.gf('django.db.models.fields.files.ImageField')(max_length=100, blank=True)), + ('annotation', self.gf('django.db.models.fields.TextField')()), + ('invite_email', self.gf('django.db.models.fields.CharField')(max_length=200, unique=True, null=True, db_index=True)), + ('invite_token', self.gf('django.db.models.fields.CharField')(max_length=40, db_index=True)), + ('created', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)), + ('_biography_rendered', self.gf('django.db.models.fields.TextField')(blank=True)), + )) + db.send_create_signal('speakers', ['Speaker']) + + + def backwards(self, orm): + # Deleting model 'Speaker' + db.delete_table('speakers_speaker') + + + models = { + 'auth.group': { + 'Meta': {'object_name': 'Group'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), + 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) + }, + 'auth.permission': { + 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, + 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + }, + 'auth.user': { + 'Meta': {'object_name': 'User'}, + 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), + 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), + 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), + 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) + }, + 'contenttypes.contenttype': { + 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, + 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'speakers.speaker': { + 'Meta': {'ordering': "['name']", 'object_name': 'Speaker'}, + '_biography_rendered': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'annotation': ('django.db.models.fields.TextField', [], {}), + 'biography': ('markitup.fields.MarkupField', [], {'no_rendered_field': 'True', 'blank': 'True'}), + 'created': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'invite_email': ('django.db.models.fields.CharField', [], {'max_length': '200', 'unique': 'True', 'null': 'True', 'db_index': 'True'}), + 'invite_token': ('django.db.models.fields.CharField', [], {'max_length': '40', 'db_index': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'photo': ('django.db.models.fields.files.ImageField', [], {'max_length': '100', 'blank': 'True'}), + 'user': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'speaker_profile'", 'unique': 'True', 'null': 'True', 'to': "orm['auth.User']"}) + } + } + + complete_apps = ['speakers'] \ No newline at end of file diff --git a/symposion/speakers/migrations/__init__.py b/symposion/speakers/migrations/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/symposion/sponsorship/migrations/0001_initial.py b/symposion/sponsorship/migrations/0001_initial.py new file mode 100644 index 00000000..4bf423d9 --- /dev/null +++ b/symposion/sponsorship/migrations/0001_initial.py @@ -0,0 +1,184 @@ +# -*- coding: utf-8 -*- +from south.utils import datetime_utils as datetime +from south.db import db +from south.v2 import SchemaMigration +from django.db import models + + +class Migration(SchemaMigration): + + def forwards(self, orm): + # Adding model 'SponsorLevel' + db.create_table('sponsorship_sponsorlevel', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('conference', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['conference.Conference'])), + ('name', self.gf('django.db.models.fields.CharField')(max_length=100)), + ('order', self.gf('django.db.models.fields.IntegerField')(default=0)), + ('cost', self.gf('django.db.models.fields.PositiveIntegerField')()), + ('description', self.gf('django.db.models.fields.TextField')(blank=True)), + )) + db.send_create_signal('sponsorship', ['SponsorLevel']) + + # Adding model 'Sponsor' + db.create_table('sponsorship_sponsor', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('applicant', self.gf('django.db.models.fields.related.ForeignKey')(related_name='sponsorships', null=True, to=orm['auth.User'])), + ('name', self.gf('django.db.models.fields.CharField')(max_length=100)), + ('external_url', self.gf('django.db.models.fields.URLField')(max_length=200)), + ('annotation', self.gf('django.db.models.fields.TextField')(blank=True)), + ('contact_name', self.gf('django.db.models.fields.CharField')(max_length=100)), + ('contact_email', self.gf('django.db.models.fields.EmailField')(max_length=75)), + ('level', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['sponsorship.SponsorLevel'])), + ('added', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)), + ('active', self.gf('django.db.models.fields.BooleanField')(default=False)), + ('sponsor_logo', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='+', null=True, to=orm['sponsorship.SponsorBenefit'])), + )) + db.send_create_signal('sponsorship', ['Sponsor']) + + # Adding model 'Benefit' + db.create_table('sponsorship_benefit', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('name', self.gf('django.db.models.fields.CharField')(max_length=100)), + ('description', self.gf('django.db.models.fields.TextField')(blank=True)), + ('type', self.gf('django.db.models.fields.CharField')(default='simple', max_length=10)), + )) + db.send_create_signal('sponsorship', ['Benefit']) + + # Adding model 'BenefitLevel' + db.create_table('sponsorship_benefitlevel', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('benefit', self.gf('django.db.models.fields.related.ForeignKey')(related_name='benefit_levels', to=orm['sponsorship.Benefit'])), + ('level', self.gf('django.db.models.fields.related.ForeignKey')(related_name='benefit_levels', to=orm['sponsorship.SponsorLevel'])), + ('max_words', self.gf('django.db.models.fields.PositiveIntegerField')(null=True, blank=True)), + ('other_limits', self.gf('django.db.models.fields.CharField')(max_length=200, blank=True)), + )) + db.send_create_signal('sponsorship', ['BenefitLevel']) + + # Adding model 'SponsorBenefit' + db.create_table('sponsorship_sponsorbenefit', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('sponsor', self.gf('django.db.models.fields.related.ForeignKey')(related_name='sponsor_benefits', to=orm['sponsorship.Sponsor'])), + ('benefit', self.gf('django.db.models.fields.related.ForeignKey')(related_name='sponsor_benefits', to=orm['sponsorship.Benefit'])), + ('active', self.gf('django.db.models.fields.BooleanField')(default=True)), + ('max_words', self.gf('django.db.models.fields.PositiveIntegerField')(null=True, blank=True)), + ('other_limits', self.gf('django.db.models.fields.CharField')(max_length=200, blank=True)), + ('text', self.gf('django.db.models.fields.TextField')(blank=True)), + ('upload', self.gf('django.db.models.fields.files.FileField')(max_length=100, blank=True)), + )) + db.send_create_signal('sponsorship', ['SponsorBenefit']) + + + def backwards(self, orm): + # Deleting model 'SponsorLevel' + db.delete_table('sponsorship_sponsorlevel') + + # Deleting model 'Sponsor' + db.delete_table('sponsorship_sponsor') + + # Deleting model 'Benefit' + db.delete_table('sponsorship_benefit') + + # Deleting model 'BenefitLevel' + db.delete_table('sponsorship_benefitlevel') + + # Deleting model 'SponsorBenefit' + db.delete_table('sponsorship_sponsorbenefit') + + + models = { + 'auth.group': { + 'Meta': {'object_name': 'Group'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), + 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) + }, + 'auth.permission': { + 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, + 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + }, + 'auth.user': { + 'Meta': {'object_name': 'User'}, + 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), + 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), + 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), + 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) + }, + 'conference.conference': { + 'Meta': {'object_name': 'Conference'}, + 'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'start_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'timezone': ('timezones.fields.TimeZoneField', [], {'default': "'US/Eastern'", 'max_length': '100', 'blank': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'contenttypes.contenttype': { + 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, + 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'sponsorship.benefit': { + 'Meta': {'object_name': 'Benefit'}, + 'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'type': ('django.db.models.fields.CharField', [], {'default': "'simple'", 'max_length': '10'}) + }, + 'sponsorship.benefitlevel': { + 'Meta': {'ordering': "['level']", 'object_name': 'BenefitLevel'}, + 'benefit': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'benefit_levels'", 'to': "orm['sponsorship.Benefit']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'level': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'benefit_levels'", 'to': "orm['sponsorship.SponsorLevel']"}), + 'max_words': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'other_limits': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}) + }, + 'sponsorship.sponsor': { + 'Meta': {'object_name': 'Sponsor'}, + 'active': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'added': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'annotation': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'applicant': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'sponsorships'", 'null': 'True', 'to': "orm['auth.User']"}), + 'contact_email': ('django.db.models.fields.EmailField', [], {'max_length': '75'}), + 'contact_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'external_url': ('django.db.models.fields.URLField', [], {'max_length': '200'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'level': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sponsorship.SponsorLevel']"}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'sponsor_logo': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['sponsorship.SponsorBenefit']"}) + }, + 'sponsorship.sponsorbenefit': { + 'Meta': {'ordering': "['-active']", 'object_name': 'SponsorBenefit'}, + 'active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'benefit': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'sponsor_benefits'", 'to': "orm['sponsorship.Benefit']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'max_words': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'other_limits': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'sponsor': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'sponsor_benefits'", 'to': "orm['sponsorship.Sponsor']"}), + 'text': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'upload': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'blank': 'True'}) + }, + 'sponsorship.sponsorlevel': { + 'Meta': {'ordering': "['conference', 'order']", 'object_name': 'SponsorLevel'}, + 'conference': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['conference.Conference']"}), + 'cost': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'order': ('django.db.models.fields.IntegerField', [], {'default': '0'}) + } + } + + complete_apps = ['sponsorship'] \ No newline at end of file diff --git a/symposion/sponsorship/migrations/__init__.py b/symposion/sponsorship/migrations/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/symposion/teams/migrations/0001_initial.py b/symposion/teams/migrations/0001_initial.py new file mode 100644 index 00000000..d1ab1600 --- /dev/null +++ b/symposion/teams/migrations/0001_initial.py @@ -0,0 +1,123 @@ +# -*- coding: utf-8 -*- +from south.utils import datetime_utils as datetime +from south.db import db +from south.v2 import SchemaMigration +from django.db import models + + +class Migration(SchemaMigration): + + def forwards(self, orm): + # Adding model 'Team' + db.create_table('teams_team', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('slug', self.gf('django.db.models.fields.SlugField')(unique=True, max_length=50)), + ('name', self.gf('django.db.models.fields.CharField')(max_length=100)), + ('description', self.gf('django.db.models.fields.TextField')(blank=True)), + ('access', self.gf('django.db.models.fields.CharField')(max_length=20)), + ('created', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)), + )) + db.send_create_signal('teams', ['Team']) + + # Adding M2M table for field permissions on 'Team' + m2m_table_name = db.shorten_name('teams_team_permissions') + db.create_table(m2m_table_name, ( + ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), + ('team', models.ForeignKey(orm['teams.team'], null=False)), + ('permission', models.ForeignKey(orm['auth.permission'], null=False)) + )) + db.create_unique(m2m_table_name, ['team_id', 'permission_id']) + + # Adding M2M table for field manager_permissions on 'Team' + m2m_table_name = db.shorten_name('teams_team_manager_permissions') + db.create_table(m2m_table_name, ( + ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), + ('team', models.ForeignKey(orm['teams.team'], null=False)), + ('permission', models.ForeignKey(orm['auth.permission'], null=False)) + )) + db.create_unique(m2m_table_name, ['team_id', 'permission_id']) + + # Adding model 'Membership' + db.create_table('teams_membership', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('user', self.gf('django.db.models.fields.related.ForeignKey')(related_name='memberships', to=orm['auth.User'])), + ('team', self.gf('django.db.models.fields.related.ForeignKey')(related_name='memberships', to=orm['teams.Team'])), + ('state', self.gf('django.db.models.fields.CharField')(max_length=20)), + ('message', self.gf('django.db.models.fields.TextField')(blank=True)), + )) + db.send_create_signal('teams', ['Membership']) + + + def backwards(self, orm): + # Deleting model 'Team' + db.delete_table('teams_team') + + # Removing M2M table for field permissions on 'Team' + db.delete_table(db.shorten_name('teams_team_permissions')) + + # Removing M2M table for field manager_permissions on 'Team' + db.delete_table(db.shorten_name('teams_team_manager_permissions')) + + # Deleting model 'Membership' + db.delete_table('teams_membership') + + + models = { + 'auth.group': { + 'Meta': {'object_name': 'Group'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), + 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) + }, + 'auth.permission': { + 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, + 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + }, + 'auth.user': { + 'Meta': {'object_name': 'User'}, + 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), + 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), + 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), + 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) + }, + 'contenttypes.contenttype': { + 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, + 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'teams.membership': { + 'Meta': {'object_name': 'Membership'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'message': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'state': ('django.db.models.fields.CharField', [], {'max_length': '20'}), + 'team': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'memberships'", 'to': "orm['teams.Team']"}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'memberships'", 'to': "orm['auth.User']"}) + }, + 'teams.team': { + 'Meta': {'object_name': 'Team'}, + 'access': ('django.db.models.fields.CharField', [], {'max_length': '20'}), + 'created': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'manager_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "'manager_teams'", 'blank': 'True', 'to': "orm['auth.Permission']"}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "'member_teams'", 'blank': 'True', 'to': "orm['auth.Permission']"}), + 'slug': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '50'}) + } + } + + complete_apps = ['teams'] \ No newline at end of file diff --git a/symposion/teams/migrations/__init__.py b/symposion/teams/migrations/__init__.py new file mode 100644 index 00000000..e69de29b