diff --git a/ietf/submit/migrations/0001_initial.py b/ietf/submit/migrations/0001_initial.py
index 7842e3e31..a183304da 100644
--- a/ietf/submit/migrations/0001_initial.py
+++ b/ietf/submit/migrations/0001_initial.py
@@ -50,16 +50,14 @@ class Migration(SchemaMigration):
         ))
         db.send_create_signal('submit', ['IdSubmissionDetail'])
 
-        # Adding model 'IdApprovedDetail'
-        db.create_table('submit_idapproveddetail', (
+        # Adding model 'Preapproval'
+        db.create_table('submit_preapproval', (
             ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
-            ('filename', self.gf('django.db.models.fields.CharField')(db_index=True, max_length=255, null=True, blank=True)),
-            ('approved_status', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
-            ('approved_person_tag', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
-            ('approved_date', self.gf('django.db.models.fields.DateField')(null=True, blank=True)),
-            ('recorded_by', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
+            ('name', self.gf('django.db.models.fields.CharField')(max_length=255, db_index=True)),
+            ('by', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['person.Person'])),
+            ('time', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)),
         ))
-        db.send_create_signal('submit', ['IdApprovedDetail'])
+        db.send_create_signal('submit', ['Preapproval'])
 
         # Adding model 'TempIdAuthors'
         db.create_table('submit_tempidauthors', (
@@ -86,8 +84,8 @@ class Migration(SchemaMigration):
         # Deleting model 'IdSubmissionDetail'
         db.delete_table('submit_idsubmissiondetail')
 
-        # Deleting model 'IdApprovedDetail'
-        db.delete_table('submit_idapproveddetail')
+        # Deleting model 'Preapproval'
+        db.delete_table('submit_preapproval')
 
         # Deleting model 'TempIdAuthors'
         db.delete_table('submit_tempidauthors')
@@ -138,7 +136,7 @@ class Migration(SchemaMigration):
         },
         'doc.document': {
             'Meta': {'object_name': 'Document'},
-            'abstract': ('django.db.models.fields.TextField', [], {}),
+            'abstract': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
             'ad': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'ad_document_set'", 'null': 'True', 'to': "orm['person.Person']"}),
             'authors': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['person.Email']", 'symmetrical': 'False', 'through': "orm['doc.DocumentAuthor']", 'blank': 'True'}),
             'expires': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
@@ -149,7 +147,7 @@ class Migration(SchemaMigration):
             'name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'primary_key': 'True'}),
             'note': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
             'notify': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
-            'order': ('django.db.models.fields.IntegerField', [], {'default': '1'}),
+            'order': ('django.db.models.fields.IntegerField', [], {'default': '1', 'blank': 'True'}),
             'pages': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
             'related': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "'reversely_related_document_set'", 'blank': 'True', 'through': "orm['doc.RelatedDocument']", 'to': "orm['doc.DocAlias']"}),
             'rev': ('django.db.models.fields.CharField', [], {'max_length': '16', 'blank': 'True'}),
@@ -181,7 +179,7 @@ class Migration(SchemaMigration):
             'desc': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
             'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
             'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'next_states': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'previous_states'", 'symmetrical': 'False', 'to': "orm['doc.State']"}),
+            'next_states': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "'previous_states'", 'blank': 'True', 'to': "orm['doc.State']"}),
             'order': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
             'slug': ('django.db.models.fields.SlugField', [], {'max_length': '50', 'db_index': 'True'}),
             'type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['doc.StateType']"}),
@@ -218,6 +216,7 @@ class Migration(SchemaMigration):
             'desc': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
             'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
             'order': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
+            'revname': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
             'slug': ('django.db.models.fields.CharField', [], {'max_length': '8', 'primary_key': 'True'}),
             'used': ('django.db.models.fields.BooleanField', [], {'default': 'True'})
         },
@@ -295,15 +294,6 @@ class Migration(SchemaMigration):
             'time': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
             'user': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['auth.User']", 'unique': 'True', 'null': 'True', 'blank': 'True'})
         },
-        'submit.idapproveddetail': {
-            'Meta': {'object_name': 'IdApprovedDetail'},
-            'approved_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
-            'approved_person_tag': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
-            'approved_status': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
-            'filename': ('django.db.models.fields.CharField', [], {'db_index': 'True', 'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'recorded_by': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'})
-        },
         'submit.idsubmissiondetail': {
             'Meta': {'object_name': 'IdSubmissionDetail'},
             'abstract': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
@@ -342,6 +332,13 @@ class Migration(SchemaMigration):
             'status_id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
             'status_value': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'})
         },
+        'submit.preapproval': {
+            'Meta': {'object_name': 'Preapproval'},
+            'by': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['person.Person']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'db_index': 'True'}),
+            'time': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'})
+        },
         'submit.tempidauthors': {
             'Meta': {'object_name': 'TempIdAuthors'},
             'author_order': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
diff --git a/ietf/submit/migrations/0004_auto__del_idapproveddetail.py b/ietf/submit/migrations/0002_auto__add_field_idsubmissiondetail_replaces.py
similarity index 95%
rename from ietf/submit/migrations/0004_auto__del_idapproveddetail.py
rename to ietf/submit/migrations/0002_auto__add_field_idsubmissiondetail_replaces.py
index 181638671..efb20af25 100644
--- a/ietf/submit/migrations/0004_auto__del_idapproveddetail.py
+++ b/ietf/submit/migrations/0002_auto__add_field_idsubmissiondetail_replaces.py
@@ -8,22 +8,14 @@ class Migration(SchemaMigration):
 
     def forwards(self, orm):
         
-        # Deleting model 'IdApprovedDetail'
-        db.delete_table('submit_idapproveddetail')
+        # Adding field 'IdSubmissionDetail.replaces'
+        db.add_column('submit_idsubmissiondetail', 'replaces', self.gf('django.db.models.fields.CharField')(max_length=255, null=True, blank=True), keep_default=False)
 
 
     def backwards(self, orm):
         
-        # Adding model 'IdApprovedDetail'
-        db.create_table('submit_idapproveddetail', (
-            ('recorded_by', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
-            ('approved_status', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
-            ('filename', self.gf('django.db.models.fields.CharField')(blank=True, max_length=255, null=True, db_index=True)),
-            ('approved_date', self.gf('django.db.models.fields.DateField')(null=True, blank=True)),
-            ('approved_person_tag', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
-            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
-        ))
-        db.send_create_signal('submit', ['IdApprovedDetail'])
+        # Deleting field 'IdSubmissionDetail.replaces'
+        db.delete_column('submit_idsubmissiondetail', 'replaces')
 
 
     models = {
@@ -71,7 +63,7 @@ class Migration(SchemaMigration):
         },
         'doc.document': {
             'Meta': {'object_name': 'Document'},
-            'abstract': ('django.db.models.fields.TextField', [], {}),
+            'abstract': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
             'ad': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'ad_document_set'", 'null': 'True', 'to': "orm['person.Person']"}),
             'authors': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['person.Email']", 'symmetrical': 'False', 'through': "orm['doc.DocumentAuthor']", 'blank': 'True'}),
             'expires': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
@@ -82,7 +74,7 @@ class Migration(SchemaMigration):
             'name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'primary_key': 'True'}),
             'note': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
             'notify': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
-            'order': ('django.db.models.fields.IntegerField', [], {'default': '1'}),
+            'order': ('django.db.models.fields.IntegerField', [], {'default': '1', 'blank': 'True'}),
             'pages': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
             'related': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "'reversely_related_document_set'", 'blank': 'True', 'through': "orm['doc.RelatedDocument']", 'to': "orm['doc.DocAlias']"}),
             'rev': ('django.db.models.fields.CharField', [], {'max_length': '16', 'blank': 'True'}),
@@ -114,7 +106,7 @@ class Migration(SchemaMigration):
             'desc': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
             'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
             'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'next_states': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'previous_states'", 'symmetrical': 'False', 'to': "orm['doc.State']"}),
+            'next_states': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "'previous_states'", 'blank': 'True', 'to': "orm['doc.State']"}),
             'order': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
             'slug': ('django.db.models.fields.SlugField', [], {'max_length': '50', 'db_index': 'True'}),
             'type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['doc.StateType']"}),
@@ -151,6 +143,7 @@ class Migration(SchemaMigration):
             'desc': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
             'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
             'order': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
+            'revname': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
             'slug': ('django.db.models.fields.CharField', [], {'max_length': '8', 'primary_key': 'True'}),
             'used': ('django.db.models.fields.BooleanField', [], {'default': 'True'})
         },
@@ -249,6 +242,7 @@ class Migration(SchemaMigration):
             'man_posted_by': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
             'man_posted_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
             'remote_ip': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
+            'replaces': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
             'revision': ('django.db.models.fields.CharField', [], {'max_length': '3', 'null': 'True', 'blank': 'True'}),
             'status': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['submit.IdSubmissionStatus']", 'null': 'True', 'db_column': "'status_id'", 'blank': 'True'}),
             'sub_email_priority': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
@@ -271,7 +265,7 @@ class Migration(SchemaMigration):
             'by': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['person.Person']"}),
             'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
             'name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'db_index': 'True'}),
-            'time': ('django.db.models.fields.DateTimeField', [], {})
+            'time': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'})
         },
         'submit.tempidauthors': {
             'Meta': {'object_name': 'TempIdAuthors'},
diff --git a/ietf/submit/migrations/0002_auto__add_preapproval.py b/ietf/submit/migrations/0002_auto__add_preapproval.py
deleted file mode 100644
index a568f4f9c..000000000
--- a/ietf/submit/migrations/0002_auto__add_preapproval.py
+++ /dev/null
@@ -1,299 +0,0 @@
-# encoding: 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 'Preapproval'
-        db.create_table('submit_preapproval', (
-            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
-            ('name', self.gf('django.db.models.fields.CharField')(max_length=255, db_index=True)),
-            ('by', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['person.Person'])),
-            ('time', self.gf('django.db.models.fields.DateTimeField')()),
-        ))
-        db.send_create_signal('submit', ['Preapproval'])
-
-
-    def backwards(self, orm):
-        
-        # Deleting model 'Preapproval'
-        db.delete_table('submit_preapproval')
-
-
-    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': '64'})
-        },
-        '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'})
-        },
-        'doc.docalias': {
-            'Meta': {'object_name': 'DocAlias'},
-            'document': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['doc.Document']"}),
-            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'db_index': 'True'})
-        },
-        'doc.document': {
-            'Meta': {'object_name': 'Document'},
-            'abstract': ('django.db.models.fields.TextField', [], {}),
-            'ad': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'ad_document_set'", 'null': 'True', 'to': "orm['person.Person']"}),
-            'authors': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['person.Email']", 'symmetrical': 'False', 'through': "orm['doc.DocumentAuthor']", 'blank': 'True'}),
-            'expires': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            'external_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}),
-            'group': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['group.Group']", 'null': 'True', 'blank': 'True'}),
-            'intended_std_level': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['name.IntendedStdLevelName']", 'null': 'True', 'blank': 'True'}),
-            'internal_comments': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'primary_key': 'True'}),
-            'note': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'notify': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
-            'order': ('django.db.models.fields.IntegerField', [], {'default': '1'}),
-            'pages': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
-            'related': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "'reversely_related_document_set'", 'blank': 'True', 'through': "orm['doc.RelatedDocument']", 'to': "orm['doc.DocAlias']"}),
-            'rev': ('django.db.models.fields.CharField', [], {'max_length': '16', 'blank': 'True'}),
-            'shepherd': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'shepherd_document_set'", 'null': 'True', 'to': "orm['person.Person']"}),
-            'states': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['doc.State']", 'symmetrical': 'False', 'blank': 'True'}),
-            'std_level': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['name.StdLevelName']", 'null': 'True', 'blank': 'True'}),
-            'stream': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['name.StreamName']", 'null': 'True', 'blank': 'True'}),
-            'tags': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['name.DocTagName']", 'null': 'True', 'blank': 'True'}),
-            'time': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
-            'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['name.DocTypeName']", 'null': 'True', 'blank': 'True'})
-        },
-        'doc.documentauthor': {
-            'Meta': {'ordering': "['document', 'order']", 'object_name': 'DocumentAuthor'},
-            'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['person.Email']"}),
-            'document': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['doc.Document']"}),
-            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'order': ('django.db.models.fields.IntegerField', [], {'default': '1'})
-        },
-        'doc.relateddocument': {
-            'Meta': {'object_name': 'RelatedDocument'},
-            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'relationship': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['name.DocRelationshipName']"}),
-            'source': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['doc.Document']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['doc.DocAlias']"})
-        },
-        'doc.state': {
-            'Meta': {'ordering': "['type', 'order']", 'object_name': 'State'},
-            'desc': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'next_states': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'previous_states'", 'symmetrical': 'False', 'to': "orm['doc.State']"}),
-            'order': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'slug': ('django.db.models.fields.SlugField', [], {'max_length': '50', 'db_index': 'True'}),
-            'type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['doc.StateType']"}),
-            'used': ('django.db.models.fields.BooleanField', [], {'default': 'True'})
-        },
-        'doc.statetype': {
-            'Meta': {'object_name': 'StateType'},
-            'label': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'slug': ('django.db.models.fields.CharField', [], {'max_length': '30', 'primary_key': 'True'})
-        },
-        'group.group': {
-            'Meta': {'object_name': 'Group'},
-            'acronym': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '40', 'db_index': 'True'}),
-            'ad': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['person.Person']", 'null': 'True', 'blank': 'True'}),
-            'charter': ('django.db.models.fields.related.OneToOneField', [], {'blank': 'True', 'related_name': "'chartered_group'", 'unique': 'True', 'null': 'True', 'to': "orm['doc.Document']"}),
-            'comments': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'list_archive': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
-            'list_email': ('django.db.models.fields.CharField', [], {'max_length': '64', 'blank': 'True'}),
-            'list_subscribe': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '80'}),
-            'parent': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['group.Group']", 'null': 'True', 'blank': 'True'}),
-            'state': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['name.GroupStateName']", 'null': 'True'}),
-            'time': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
-            'type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['name.GroupTypeName']", 'null': 'True'}),
-            'unused_states': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['doc.State']", 'symmetrical': 'False', 'blank': 'True'}),
-            'unused_tags': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['name.DocTagName']", 'symmetrical': 'False', 'blank': 'True'})
-        },
-        'group.ietfwg': {
-            'Meta': {'object_name': 'IETFWG', 'db_table': "'group_group'", '_ormbases': ['group.Group'], 'proxy': 'True'}
-        },
-        'name.docrelationshipname': {
-            'Meta': {'ordering': "['order']", 'object_name': 'DocRelationshipName'},
-            'desc': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'order': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'slug': ('django.db.models.fields.CharField', [], {'max_length': '8', 'primary_key': 'True'}),
-            'used': ('django.db.models.fields.BooleanField', [], {'default': 'True'})
-        },
-        'name.doctagname': {
-            'Meta': {'ordering': "['order']", 'object_name': 'DocTagName'},
-            'desc': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'order': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'slug': ('django.db.models.fields.CharField', [], {'max_length': '8', 'primary_key': 'True'}),
-            'used': ('django.db.models.fields.BooleanField', [], {'default': 'True'})
-        },
-        'name.doctypename': {
-            'Meta': {'ordering': "['order']", 'object_name': 'DocTypeName'},
-            'desc': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'order': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'slug': ('django.db.models.fields.CharField', [], {'max_length': '8', 'primary_key': 'True'}),
-            'used': ('django.db.models.fields.BooleanField', [], {'default': 'True'})
-        },
-        'name.groupstatename': {
-            'Meta': {'ordering': "['order']", 'object_name': 'GroupStateName'},
-            'desc': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'order': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'slug': ('django.db.models.fields.CharField', [], {'max_length': '8', 'primary_key': 'True'}),
-            'used': ('django.db.models.fields.BooleanField', [], {'default': 'True'})
-        },
-        'name.grouptypename': {
-            'Meta': {'ordering': "['order']", 'object_name': 'GroupTypeName'},
-            'desc': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'order': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'slug': ('django.db.models.fields.CharField', [], {'max_length': '8', 'primary_key': 'True'}),
-            'used': ('django.db.models.fields.BooleanField', [], {'default': 'True'})
-        },
-        'name.intendedstdlevelname': {
-            'Meta': {'ordering': "['order']", 'object_name': 'IntendedStdLevelName'},
-            'desc': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'order': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'slug': ('django.db.models.fields.CharField', [], {'max_length': '8', 'primary_key': 'True'}),
-            'used': ('django.db.models.fields.BooleanField', [], {'default': 'True'})
-        },
-        'name.stdlevelname': {
-            'Meta': {'ordering': "['order']", 'object_name': 'StdLevelName'},
-            'desc': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'order': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'slug': ('django.db.models.fields.CharField', [], {'max_length': '8', 'primary_key': 'True'}),
-            'used': ('django.db.models.fields.BooleanField', [], {'default': 'True'})
-        },
-        'name.streamname': {
-            'Meta': {'ordering': "['order']", 'object_name': 'StreamName'},
-            'desc': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'order': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'slug': ('django.db.models.fields.CharField', [], {'max_length': '8', 'primary_key': 'True'}),
-            'used': ('django.db.models.fields.BooleanField', [], {'default': 'True'})
-        },
-        'person.email': {
-            'Meta': {'object_name': 'Email'},
-            'active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
-            'address': ('django.db.models.fields.CharField', [], {'max_length': '64', 'primary_key': 'True'}),
-            'person': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['person.Person']", 'null': 'True'}),
-            'time': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'})
-        },
-        'person.person': {
-            'Meta': {'object_name': 'Person'},
-            'address': ('django.db.models.fields.TextField', [], {'max_length': '255', 'blank': 'True'}),
-            'affiliation': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
-            'ascii': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'ascii_short': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}),
-            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'db_index': 'True'}),
-            'time': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
-            'user': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['auth.User']", 'unique': 'True', 'null': 'True', 'blank': 'True'})
-        },
-        'submit.idapproveddetail': {
-            'Meta': {'object_name': 'IdApprovedDetail'},
-            'approved_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
-            'approved_person_tag': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
-            'approved_status': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
-            'filename': ('django.db.models.fields.CharField', [], {'db_index': 'True', 'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'recorded_by': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'})
-        },
-        'submit.idsubmissiondetail': {
-            'Meta': {'object_name': 'IdSubmissionDetail'},
-            'abstract': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'auth_key': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'comment_to_sec': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'creation_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
-            'error_message': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'file_type': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'}),
-            'filename': ('django.db.models.fields.CharField', [], {'db_index': 'True', 'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'filesize': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
-            'first_two_pages': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'group_acronym': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['group.Group']", 'null': 'True', 'blank': 'True'}),
-            'id_document_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'idnits_failed': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
-            'idnits_message': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'invalid_version': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
-            'last_updated_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
-            'last_updated_time': ('django.db.models.fields.CharField', [], {'max_length': '25', 'null': 'True', 'blank': 'True'}),
-            'man_posted_by': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'man_posted_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
-            'remote_ip': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
-            'revision': ('django.db.models.fields.CharField', [], {'max_length': '3', 'null': 'True', 'blank': 'True'}),
-            'status': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['submit.IdSubmissionStatus']", 'null': 'True', 'db_column': "'status_id'", 'blank': 'True'}),
-            'sub_email_priority': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
-            'submission_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
-            'submission_hash': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'submission_id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'submitter_tag': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
-            'temp_id_document_tag': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
-            'txt_page_count': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
-            'warning_message': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'wg_submission': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'})
-        },
-        'submit.idsubmissionstatus': {
-            'Meta': {'object_name': 'IdSubmissionStatus'},
-            'status_id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
-            'status_value': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'})
-        },
-        'submit.preapproval': {
-            'Meta': {'object_name': 'Preapproval'},
-            'by': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['person.Person']"}),
-            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'db_index': 'True'}),
-            'time': ('django.db.models.fields.DateTimeField', [], {})
-        },
-        'submit.tempidauthors': {
-            'Meta': {'object_name': 'TempIdAuthors'},
-            'author_order': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
-            'email_address': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
-            'first_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
-            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'id_document_tag': ('django.db.models.fields.IntegerField', [], {}),
-            'last_modified_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
-            'last_modified_time': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'last_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
-            'middle_initial': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'name_suffix': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'submission': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['submit.IdSubmissionDetail']"})
-        }
-    }
-
-    complete_apps = ['submit']
diff --git a/ietf/submit/migrations/0003_copy_idapproveddetail_to_preapproval.py b/ietf/submit/migrations/0003_copy_idapproveddetail_to_preapproval.py
deleted file mode 100644
index 17ebb5391..000000000
--- a/ietf/submit/migrations/0003_copy_idapproveddetail_to_preapproval.py
+++ /dev/null
@@ -1,311 +0,0 @@
-# encoding: utf-8
-import datetime
-from south.db import db
-from south.v2 import DataMigration
-from django.db import models
-
-class Migration(DataMigration):
-
-    def forwards(self, orm):
-        # some ids were lost in the 2012 database migration (because
-        # of duplicate entries), so pre-fill the mapping
-        mapping = {
-            104942: orm['person.Person'].objects.get(name="Lars Eggert"),
-            106659: orm['person.Person'].objects.get(name="Wesley Eddy"),
-            108317: orm['person.Person'].objects.get(name="Vijay K. Gurbani"),
-            107767: orm['person.Person'].objects.get(name="Behcet Sarikaya"),
-            }
-
-        for d in orm.IdApprovedDetail.objects.all().iterator():
-            try:
-                p = orm.Preapproval.objects.get(id=d.id)
-            except orm.Preapproval.DoesNotExist:
-                p = orm.Preapproval(id=d.id)
-            p.name = d.filename
-            if d.approved_person_tag not in mapping:
-                try:
-                    mapping[d.approved_person_tag] = orm['person.Person'].objects.get(id=d.approved_person_tag)
-                except orm['person.Person'].DoesNotExist:
-                    print "FAIL missing person id", d.approved_person_tag
-
-            p.by = mapping[d.approved_person_tag]
-            p.time = datetime.datetime.combine(d.approved_date, datetime.time(0, 0, 0))
-            p.save()
-
-    def backwards(self, orm):
-        "Write your backwards methods here."
-
-
-    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': '64'})
-        },
-        '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'})
-        },
-        'doc.docalias': {
-            'Meta': {'object_name': 'DocAlias'},
-            'document': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['doc.Document']"}),
-            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'db_index': 'True'})
-        },
-        'doc.document': {
-            'Meta': {'object_name': 'Document'},
-            'abstract': ('django.db.models.fields.TextField', [], {}),
-            'ad': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'ad_document_set'", 'null': 'True', 'to': "orm['person.Person']"}),
-            'authors': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['person.Email']", 'symmetrical': 'False', 'through': "orm['doc.DocumentAuthor']", 'blank': 'True'}),
-            'expires': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            'external_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}),
-            'group': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['group.Group']", 'null': 'True', 'blank': 'True'}),
-            'intended_std_level': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['name.IntendedStdLevelName']", 'null': 'True', 'blank': 'True'}),
-            'internal_comments': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'primary_key': 'True'}),
-            'note': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'notify': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
-            'order': ('django.db.models.fields.IntegerField', [], {'default': '1'}),
-            'pages': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
-            'related': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "'reversely_related_document_set'", 'blank': 'True', 'through': "orm['doc.RelatedDocument']", 'to': "orm['doc.DocAlias']"}),
-            'rev': ('django.db.models.fields.CharField', [], {'max_length': '16', 'blank': 'True'}),
-            'shepherd': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'shepherd_document_set'", 'null': 'True', 'to': "orm['person.Person']"}),
-            'states': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['doc.State']", 'symmetrical': 'False', 'blank': 'True'}),
-            'std_level': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['name.StdLevelName']", 'null': 'True', 'blank': 'True'}),
-            'stream': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['name.StreamName']", 'null': 'True', 'blank': 'True'}),
-            'tags': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['name.DocTagName']", 'null': 'True', 'blank': 'True'}),
-            'time': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
-            'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['name.DocTypeName']", 'null': 'True', 'blank': 'True'})
-        },
-        'doc.documentauthor': {
-            'Meta': {'ordering': "['document', 'order']", 'object_name': 'DocumentAuthor'},
-            'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['person.Email']"}),
-            'document': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['doc.Document']"}),
-            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'order': ('django.db.models.fields.IntegerField', [], {'default': '1'})
-        },
-        'doc.relateddocument': {
-            'Meta': {'object_name': 'RelatedDocument'},
-            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'relationship': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['name.DocRelationshipName']"}),
-            'source': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['doc.Document']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['doc.DocAlias']"})
-        },
-        'doc.state': {
-            'Meta': {'ordering': "['type', 'order']", 'object_name': 'State'},
-            'desc': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'next_states': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'previous_states'", 'symmetrical': 'False', 'to': "orm['doc.State']"}),
-            'order': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'slug': ('django.db.models.fields.SlugField', [], {'max_length': '50', 'db_index': 'True'}),
-            'type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['doc.StateType']"}),
-            'used': ('django.db.models.fields.BooleanField', [], {'default': 'True'})
-        },
-        'doc.statetype': {
-            'Meta': {'object_name': 'StateType'},
-            'label': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'slug': ('django.db.models.fields.CharField', [], {'max_length': '30', 'primary_key': 'True'})
-        },
-        'group.group': {
-            'Meta': {'object_name': 'Group'},
-            'acronym': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '40', 'db_index': 'True'}),
-            'ad': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['person.Person']", 'null': 'True', 'blank': 'True'}),
-            'charter': ('django.db.models.fields.related.OneToOneField', [], {'blank': 'True', 'related_name': "'chartered_group'", 'unique': 'True', 'null': 'True', 'to': "orm['doc.Document']"}),
-            'comments': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'list_archive': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
-            'list_email': ('django.db.models.fields.CharField', [], {'max_length': '64', 'blank': 'True'}),
-            'list_subscribe': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '80'}),
-            'parent': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['group.Group']", 'null': 'True', 'blank': 'True'}),
-            'state': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['name.GroupStateName']", 'null': 'True'}),
-            'time': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
-            'type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['name.GroupTypeName']", 'null': 'True'}),
-            'unused_states': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['doc.State']", 'symmetrical': 'False', 'blank': 'True'}),
-            'unused_tags': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['name.DocTagName']", 'symmetrical': 'False', 'blank': 'True'})
-        },
-        'group.ietfwg': {
-            'Meta': {'object_name': 'IETFWG', 'db_table': "'group_group'", '_ormbases': ['group.Group'], 'proxy': 'True'}
-        },
-        'name.docrelationshipname': {
-            'Meta': {'ordering': "['order']", 'object_name': 'DocRelationshipName'},
-            'desc': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'order': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'slug': ('django.db.models.fields.CharField', [], {'max_length': '8', 'primary_key': 'True'}),
-            'used': ('django.db.models.fields.BooleanField', [], {'default': 'True'})
-        },
-        'name.doctagname': {
-            'Meta': {'ordering': "['order']", 'object_name': 'DocTagName'},
-            'desc': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'order': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'slug': ('django.db.models.fields.CharField', [], {'max_length': '8', 'primary_key': 'True'}),
-            'used': ('django.db.models.fields.BooleanField', [], {'default': 'True'})
-        },
-        'name.doctypename': {
-            'Meta': {'ordering': "['order']", 'object_name': 'DocTypeName'},
-            'desc': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'order': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'slug': ('django.db.models.fields.CharField', [], {'max_length': '8', 'primary_key': 'True'}),
-            'used': ('django.db.models.fields.BooleanField', [], {'default': 'True'})
-        },
-        'name.groupstatename': {
-            'Meta': {'ordering': "['order']", 'object_name': 'GroupStateName'},
-            'desc': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'order': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'slug': ('django.db.models.fields.CharField', [], {'max_length': '8', 'primary_key': 'True'}),
-            'used': ('django.db.models.fields.BooleanField', [], {'default': 'True'})
-        },
-        'name.grouptypename': {
-            'Meta': {'ordering': "['order']", 'object_name': 'GroupTypeName'},
-            'desc': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'order': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'slug': ('django.db.models.fields.CharField', [], {'max_length': '8', 'primary_key': 'True'}),
-            'used': ('django.db.models.fields.BooleanField', [], {'default': 'True'})
-        },
-        'name.intendedstdlevelname': {
-            'Meta': {'ordering': "['order']", 'object_name': 'IntendedStdLevelName'},
-            'desc': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'order': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'slug': ('django.db.models.fields.CharField', [], {'max_length': '8', 'primary_key': 'True'}),
-            'used': ('django.db.models.fields.BooleanField', [], {'default': 'True'})
-        },
-        'name.stdlevelname': {
-            'Meta': {'ordering': "['order']", 'object_name': 'StdLevelName'},
-            'desc': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'order': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'slug': ('django.db.models.fields.CharField', [], {'max_length': '8', 'primary_key': 'True'}),
-            'used': ('django.db.models.fields.BooleanField', [], {'default': 'True'})
-        },
-        'name.streamname': {
-            'Meta': {'ordering': "['order']", 'object_name': 'StreamName'},
-            'desc': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'order': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'slug': ('django.db.models.fields.CharField', [], {'max_length': '8', 'primary_key': 'True'}),
-            'used': ('django.db.models.fields.BooleanField', [], {'default': 'True'})
-        },
-        'person.email': {
-            'Meta': {'object_name': 'Email'},
-            'active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
-            'address': ('django.db.models.fields.CharField', [], {'max_length': '64', 'primary_key': 'True'}),
-            'person': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['person.Person']", 'null': 'True'}),
-            'time': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'})
-        },
-        'person.person': {
-            'Meta': {'object_name': 'Person'},
-            'address': ('django.db.models.fields.TextField', [], {'max_length': '255', 'blank': 'True'}),
-            'affiliation': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
-            'ascii': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'ascii_short': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}),
-            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'db_index': 'True'}),
-            'time': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
-            'user': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['auth.User']", 'unique': 'True', 'null': 'True', 'blank': 'True'})
-        },
-        'submit.idapproveddetail': {
-            'Meta': {'object_name': 'IdApprovedDetail'},
-            'approved_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
-            'approved_person_tag': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
-            'approved_status': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
-            'filename': ('django.db.models.fields.CharField', [], {'db_index': 'True', 'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'recorded_by': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'})
-        },
-        'submit.idsubmissiondetail': {
-            'Meta': {'object_name': 'IdSubmissionDetail'},
-            'abstract': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'auth_key': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'comment_to_sec': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'creation_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
-            'error_message': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'file_type': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'}),
-            'filename': ('django.db.models.fields.CharField', [], {'db_index': 'True', 'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'filesize': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
-            'first_two_pages': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'group_acronym': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['group.Group']", 'null': 'True', 'blank': 'True'}),
-            'id_document_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'idnits_failed': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
-            'idnits_message': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'invalid_version': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
-            'last_updated_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
-            'last_updated_time': ('django.db.models.fields.CharField', [], {'max_length': '25', 'null': 'True', 'blank': 'True'}),
-            'man_posted_by': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'man_posted_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
-            'remote_ip': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
-            'revision': ('django.db.models.fields.CharField', [], {'max_length': '3', 'null': 'True', 'blank': 'True'}),
-            'status': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['submit.IdSubmissionStatus']", 'null': 'True', 'db_column': "'status_id'", 'blank': 'True'}),
-            'sub_email_priority': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
-            'submission_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
-            'submission_hash': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'submission_id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'submitter_tag': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
-            'temp_id_document_tag': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
-            'txt_page_count': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
-            'warning_message': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'wg_submission': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'})
-        },
-        'submit.idsubmissionstatus': {
-            'Meta': {'object_name': 'IdSubmissionStatus'},
-            'status_id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
-            'status_value': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'})
-        },
-        'submit.preapproval': {
-            'Meta': {'object_name': 'Preapproval'},
-            'by': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['person.Person']"}),
-            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'db_index': 'True'}),
-            'time': ('django.db.models.fields.DateTimeField', [], {})
-        },
-        'submit.tempidauthors': {
-            'Meta': {'object_name': 'TempIdAuthors'},
-            'author_order': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
-            'email_address': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
-            'first_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
-            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'id_document_tag': ('django.db.models.fields.IntegerField', [], {}),
-            'last_modified_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
-            'last_modified_time': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'last_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
-            'middle_initial': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'name_suffix': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'submission': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['submit.IdSubmissionDetail']"})
-        }
-    }
-
-    complete_apps = ['submit']
diff --git a/ietf/submit/migrations/__init__.py b/ietf/submit/migrations/__init__.py
new file mode 100644
index 000000000..e69de29bb