Adjusted migrations for Python2/3 compatibility.

- Legacy-Id: 16633
This commit is contained in:
Henrik Levkowetz 2019-08-08 17:11:14 +00:00
parent 9a2c409238
commit 8e313e4ed5
40 changed files with 240 additions and 240 deletions

View file

@ -26,15 +26,15 @@ class Migration(migrations.Migration):
name='EmailSubscription',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('notify_on', models.CharField(choices=[(b'all', b'All changes'), (b'significant', b'Only significant state changes')], default=b'all', max_length=30)),
('notify_on', models.CharField(choices=[('all', 'All changes'), ('significant', 'Only significant state changes')], default='all', max_length=30)),
],
),
migrations.CreateModel(
name='SearchRule',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('rule_type', models.CharField(choices=[(b'group', b'All I-Ds associated with a particular group'), (b'area', b'All I-Ds associated with all groups in a particular Area'), (b'group_rfc', b'All RFCs associated with a particular group'), (b'area_rfc', b'All RFCs associated with all groups in a particular Area'), (b'state_iab', b'All I-Ds that are in a particular IAB state'), (b'state_iana', b'All I-Ds that are in a particular IANA state'), (b'state_iesg', b'All I-Ds that are in a particular IESG state'), (b'state_irtf', b'All I-Ds that are in a particular IRTF state'), (b'state_ise', b'All I-Ds that are in a particular ISE state'), (b'state_rfceditor', b'All I-Ds that are in a particular RFC Editor state'), (b'state_ietf', b'All I-Ds that are in a particular Working Group state'), (b'author', b'All I-Ds with a particular author'), (b'author_rfc', b'All RFCs with a particular author'), (b'ad', b'All I-Ds with a particular responsible AD'), (b'shepherd', b'All I-Ds with a particular document shepherd'), (b'name_contains', b'All I-Ds with particular text/regular expression in the name')], max_length=30)),
('text', models.CharField(blank=True, default=b'', max_length=255, verbose_name=b'Text/RegExp')),
('rule_type', models.CharField(choices=[('group', 'All I-Ds associated with a particular group'), ('area', 'All I-Ds associated with all groups in a particular Area'), ('group_rfc', 'All RFCs associated with a particular group'), ('area_rfc', 'All RFCs associated with all groups in a particular Area'), ('state_iab', 'All I-Ds that are in a particular IAB state'), ('state_iana', 'All I-Ds that are in a particular IANA state'), ('state_iesg', 'All I-Ds that are in a particular IESG state'), ('state_irtf', 'All I-Ds that are in a particular IRTF state'), ('state_ise', 'All I-Ds that are in a particular ISE state'), ('state_rfceditor', 'All I-Ds that are in a particular RFC Editor state'), ('state_ietf', 'All I-Ds that are in a particular Working Group state'), ('author', 'All I-Ds with a particular author'), ('author_rfc', 'All RFCs with a particular author'), ('ad', 'All I-Ds with a particular responsible AD'), ('shepherd', 'All I-Ds with a particular document shepherd'), ('name_contains', 'All I-Ds with particular text/regular expression in the name')], max_length=30)),
('text', models.CharField(blank=True, default='', max_length=255, verbose_name='Text/RegExp')),
('community_list', ietf.utils.models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='community.CommunityList')),
],
),

View file

@ -40,7 +40,7 @@ class Migration(migrations.Migration):
name='DeletedEvent',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('json', models.TextField(help_text=b'Deleted object in JSON format, with attribute names chosen to be suitable for passing into the relevant create method.')),
('json', models.TextField(help_text='Deleted object in JSON format, with attribute names chosen to be suitable for passing into the relevant create method.')),
('time', models.DateTimeField(default=datetime.datetime.now)),
],
),
@ -58,9 +58,9 @@ class Migration(migrations.Migration):
name='DocEvent',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('time', models.DateTimeField(db_index=True, default=datetime.datetime.now, help_text=b'When the event happened')),
('time', models.DateTimeField(db_index=True, default=datetime.datetime.now, help_text='When the event happened')),
('type', models.CharField(choices=[(b'new_revision', b'Added new revision'), (b'new_submission', b'Uploaded new revision'), (b'changed_document', b'Changed document metadata'), (b'added_comment', b'Added comment'), (b'added_message', b'Added message'), (b'edited_authors', b'Edited the documents author list'), (b'deleted', b'Deleted document'), (b'changed_state', b'Changed state'), (b'changed_stream', b'Changed document stream'), (b'expired_document', b'Expired document'), (b'extended_expiry', b'Extended expiry of document'), (b'requested_resurrect', b'Requested resurrect'), (b'completed_resurrect', b'Completed resurrect'), (b'changed_consensus', b'Changed consensus'), (b'published_rfc', b'Published RFC'), (b'added_suggested_replaces', b'Added suggested replacement relationships'), (b'reviewed_suggested_replaces', b'Reviewed suggested replacement relationships'), (b'changed_group', b'Changed group'), (b'changed_protocol_writeup', b'Changed protocol writeup'), (b'changed_charter_milestone', b'Changed charter milestone'), (b'initial_review', b'Set initial review time'), (b'changed_review_announcement', b'Changed WG Review text'), (b'changed_action_announcement', b'Changed WG Action text'), (b'started_iesg_process', b'Started IESG process on document'), (b'created_ballot', b'Created ballot'), (b'closed_ballot', b'Closed ballot'), (b'sent_ballot_announcement', b'Sent ballot announcement'), (b'changed_ballot_position', b'Changed ballot position'), (b'changed_ballot_approval_text', b'Changed ballot approval text'), (b'changed_ballot_writeup_text', b'Changed ballot writeup text'), (b'changed_rfc_editor_note_text', b'Changed RFC Editor Note text'), (b'changed_last_call_text', b'Changed last call text'), (b'requested_last_call', b'Requested last call'), (b'sent_last_call', b'Sent last call'), (b'scheduled_for_telechat', b'Scheduled for telechat'), (b'iesg_approved', b'IESG approved document (no problem)'), (b'iesg_disapproved', b'IESG disapproved document (do not publish)'), (b'approved_in_minute', b'Approved in minute'), (b'iana_review', b'IANA review comment'), (b'rfc_in_iana_registry', b'RFC is in IANA registry'), (b'rfc_editor_received_announcement', b'Announcement was received by RFC Editor'), (b'requested_publication', b'Publication at RFC Editor requested'), (b'sync_from_rfc_editor', b'Received updated information from RFC Editor'), (b'requested_review', b'Requested review'), (b'assigned_review_request', b'Assigned review request'), (b'closed_review_request', b'Closed review request'), (b'downref_approved', b'Downref approved')], max_length=50)),
('rev', models.CharField(blank=True, max_length=16, null=True, verbose_name=b'revision')),
('rev', models.CharField(blank=True, max_length=16, null=True, verbose_name='revision')),
('desc', models.TextField()),
],
options={
@ -74,7 +74,7 @@ class Migration(migrations.Migration):
('time', models.DateTimeField(default=datetime.datetime.now)),
('title', models.CharField(max_length=255, validators=[django.core.validators.RegexValidator(message='Please enter a string without control characters.', regex='^[^\x00-\x1f]*$')])),
('abstract', models.TextField(blank=True)),
('rev', models.CharField(blank=True, max_length=16, verbose_name=b'revision')),
('rev', models.CharField(blank=True, max_length=16, verbose_name='revision')),
('pages', models.IntegerField(blank=True, null=True)),
('words', models.IntegerField(blank=True, null=True)),
('order', models.IntegerField(blank=True, default=1)),
@ -94,8 +94,8 @@ class Migration(migrations.Migration):
name='DocHistoryAuthor',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('affiliation', models.CharField(blank=True, help_text=b'Organization/company used by author for submission', max_length=100)),
('country', models.CharField(blank=True, help_text=b'Country used by author for submission', max_length=255)),
('affiliation', models.CharField(blank=True, help_text='Organization/company used by author for submission', max_length=100)),
('country', models.CharField(blank=True, help_text='Country used by author for submission', max_length=255)),
('order', models.IntegerField(default=1)),
],
options={
@ -117,7 +117,7 @@ class Migration(migrations.Migration):
('time', models.DateTimeField(default=datetime.datetime.now)),
('title', models.CharField(max_length=255, validators=[django.core.validators.RegexValidator(message='Please enter a string without control characters.', regex='^[^\x00-\x1f]*$')])),
('abstract', models.TextField(blank=True)),
('rev', models.CharField(blank=True, max_length=16, verbose_name=b'revision')),
('rev', models.CharField(blank=True, max_length=16, verbose_name='revision')),
('pages', models.IntegerField(blank=True, null=True)),
('words', models.IntegerField(blank=True, null=True)),
('order', models.IntegerField(blank=True, default=1)),
@ -127,8 +127,8 @@ class Migration(migrations.Migration):
('note', models.TextField(blank=True)),
('internal_comments', models.TextField(blank=True)),
('name', models.CharField(max_length=255, primary_key=True, serialize=False, validators=[django.core.validators.RegexValidator(b'^[-a-z0-9]+$', b'Provide a valid document name consisting of lowercase letters, numbers and hyphens.', b'invalid')])),
('ad', ietf.utils.models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='ad_document_set', to='person.Person', verbose_name=b'area director')),
('formal_languages', models.ManyToManyField(blank=True, help_text=b'Formal languages used in document', to='name.FormalLanguageName')),
('ad', ietf.utils.models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='ad_document_set', to='person.Person', verbose_name='area director')),
('formal_languages', models.ManyToManyField(blank=True, help_text='Formal languages used in document', to='name.FormalLanguageName')),
],
options={
'abstract': False,
@ -138,11 +138,11 @@ class Migration(migrations.Migration):
name='DocumentAuthor',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('affiliation', models.CharField(blank=True, help_text=b'Organization/company used by author for submission', max_length=100)),
('country', models.CharField(blank=True, help_text=b'Country used by author for submission', max_length=255)),
('affiliation', models.CharField(blank=True, help_text='Organization/company used by author for submission', max_length=100)),
('country', models.CharField(blank=True, help_text='Country used by author for submission', max_length=255)),
('order', models.IntegerField(default=1)),
('document', ietf.utils.models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='doc.Document')),
('email', ietf.utils.models.ForeignKey(blank=True, help_text=b'Email address used by author for submission', null=True, on_delete=django.db.models.deletion.CASCADE, to='person.Email')),
('email', ietf.utils.models.ForeignKey(blank=True, help_text='Email address used by author for submission', null=True, on_delete=django.db.models.deletion.CASCADE, to='person.Email')),
('person', ietf.utils.models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='person.Person')),
],
options={
@ -154,7 +154,7 @@ class Migration(migrations.Migration):
name='DocumentURL',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('desc', models.CharField(blank=True, default=b'', max_length=255)),
('desc', models.CharField(blank=True, default='', max_length=255)),
('url', models.URLField(max_length=512)),
('doc', ietf.utils.models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='doc.Document')),
('tag', ietf.utils.models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='name.DocUrlTagName')),
@ -197,7 +197,7 @@ class Migration(migrations.Migration):
name='StateType',
fields=[
('slug', models.CharField(max_length=30, primary_key=True, serialize=False)),
('label', models.CharField(help_text=b'Label that should be used (e.g. in admin) for state drop-down for this type of state', max_length=255)),
('label', models.CharField(help_text='Label that should be used (e.g. in admin) for state drop-down for this type of state', max_length=255)),
],
),
migrations.CreateModel(
@ -219,10 +219,10 @@ class Migration(migrations.Migration):
name='BallotPositionDocEvent',
fields=[
('docevent_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='doc.DocEvent')),
('discuss', models.TextField(blank=True, help_text=b'Discuss text if position is discuss')),
('discuss_time', models.DateTimeField(blank=True, help_text=b'Time discuss text was written', null=True)),
('comment', models.TextField(blank=True, help_text=b'Optional comment')),
('comment_time', models.DateTimeField(blank=True, help_text=b'Time optional comment was written', null=True)),
('discuss', models.TextField(blank=True, help_text='Discuss text if position is discuss')),
('discuss_time', models.DateTimeField(blank=True, help_text='Time discuss text was written', null=True)),
('comment', models.TextField(blank=True, help_text='Optional comment')),
('comment_time', models.DateTimeField(blank=True, help_text='Time optional comment was written', null=True)),
],
bases=('doc.docevent',),
),
@ -238,7 +238,7 @@ class Migration(migrations.Migration):
name='EditedAuthorsDocEvent',
fields=[
('docevent_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='doc.DocEvent')),
('basis', models.CharField(help_text=b'What is the source or reasoning for the changes to the author list', max_length=255)),
('basis', models.CharField(help_text='What is the source or reasoning for the changes to the author list', max_length=255)),
],
bases=('doc.docevent',),
),

View file

@ -34,7 +34,7 @@ class Migration(migrations.Migration):
migrations.AddField(
model_name='document',
name='intended_std_level',
field=ietf.utils.models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='name.IntendedStdLevelName', verbose_name=b'Intended standardization level'),
field=ietf.utils.models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='name.IntendedStdLevelName', verbose_name='Intended standardization level'),
),
migrations.AddField(
model_name='document',
@ -49,7 +49,7 @@ class Migration(migrations.Migration):
migrations.AddField(
model_name='document',
name='std_level',
field=ietf.utils.models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='name.StdLevelName', verbose_name=b'Standardization level'),
field=ietf.utils.models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='name.StdLevelName', verbose_name='Standardization level'),
),
migrations.AddField(
model_name='document',
@ -84,7 +84,7 @@ class Migration(migrations.Migration):
migrations.AddField(
model_name='dochistoryauthor',
name='email',
field=ietf.utils.models.ForeignKey(blank=True, help_text=b'Email address used by author for submission', null=True, on_delete=django.db.models.deletion.CASCADE, to='person.Email'),
field=ietf.utils.models.ForeignKey(blank=True, help_text='Email address used by author for submission', null=True, on_delete=django.db.models.deletion.CASCADE, to='person.Email'),
),
migrations.AddField(
model_name='dochistoryauthor',
@ -94,7 +94,7 @@ class Migration(migrations.Migration):
migrations.AddField(
model_name='dochistory',
name='ad',
field=ietf.utils.models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='ad_dochistory_set', to='person.Person', verbose_name=b'area director'),
field=ietf.utils.models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='ad_dochistory_set', to='person.Person', verbose_name='area director'),
),
migrations.AddField(
model_name='dochistory',
@ -104,7 +104,7 @@ class Migration(migrations.Migration):
migrations.AddField(
model_name='dochistory',
name='formal_languages',
field=models.ManyToManyField(blank=True, help_text=b'Formal languages used in document', to='name.FormalLanguageName'),
field=models.ManyToManyField(blank=True, help_text='Formal languages used in document', to='name.FormalLanguageName'),
),
migrations.AddField(
model_name='dochistory',
@ -114,7 +114,7 @@ class Migration(migrations.Migration):
migrations.AddField(
model_name='dochistory',
name='intended_std_level',
field=ietf.utils.models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='name.IntendedStdLevelName', verbose_name=b'Intended standardization level'),
field=ietf.utils.models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='name.IntendedStdLevelName', verbose_name='Intended standardization level'),
),
migrations.AddField(
model_name='dochistory',
@ -129,7 +129,7 @@ class Migration(migrations.Migration):
migrations.AddField(
model_name='dochistory',
name='std_level',
field=ietf.utils.models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='name.StdLevelName', verbose_name=b'Standardization level'),
field=ietf.utils.models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='name.StdLevelName', verbose_name='Standardization level'),
),
migrations.AddField(
model_name='dochistory',
@ -219,7 +219,7 @@ class Migration(migrations.Migration):
migrations.AddField(
model_name='ballotpositiondocevent',
name='pos',
field=ietf.utils.models.ForeignKey(default=b'norecord', on_delete=django.db.models.deletion.CASCADE, to='name.BallotPositionName', verbose_name=b'position'),
field=ietf.utils.models.ForeignKey(default='norecord', on_delete=django.db.models.deletion.CASCADE, to='name.BallotPositionName', verbose_name='position'),
),
migrations.AddField(
model_name='ballotdocevent',

View file

@ -21,6 +21,6 @@ class Migration(migrations.Migration):
migrations.AlterField(
model_name='docevent',
name='type',
field=models.CharField(choices=[(b'new_revision', b'Added new revision'), (b'new_submission', b'Uploaded new revision'), (b'changed_document', b'Changed document metadata'), (b'added_comment', b'Added comment'), (b'added_message', b'Added message'), (b'edited_authors', b'Edited the documents author list'), (b'deleted', b'Deleted document'), (b'changed_state', b'Changed state'), (b'changed_stream', b'Changed document stream'), (b'expired_document', b'Expired document'), (b'extended_expiry', b'Extended expiry of document'), (b'requested_resurrect', b'Requested resurrect'), (b'completed_resurrect', b'Completed resurrect'), (b'changed_consensus', b'Changed consensus'), (b'published_rfc', b'Published RFC'), (b'added_suggested_replaces', b'Added suggested replacement relationships'), (b'reviewed_suggested_replaces', b'Reviewed suggested replacement relationships'), (b'changed_group', b'Changed group'), (b'changed_protocol_writeup', b'Changed protocol writeup'), (b'changed_charter_milestone', b'Changed charter milestone'), (b'initial_review', b'Set initial review time'), (b'changed_review_announcement', b'Changed WG Review text'), (b'changed_action_announcement', b'Changed WG Action text'), (b'started_iesg_process', b'Started IESG process on document'), (b'created_ballot', b'Created ballot'), (b'closed_ballot', b'Closed ballot'), (b'sent_ballot_announcement', b'Sent ballot announcement'), (b'changed_ballot_position', b'Changed ballot position'), (b'changed_ballot_approval_text', b'Changed ballot approval text'), (b'changed_ballot_writeup_text', b'Changed ballot writeup text'), (b'changed_rfc_editor_note_text', b'Changed RFC Editor Note text'), (b'changed_last_call_text', b'Changed last call text'), (b'requested_last_call', b'Requested last call'), (b'sent_last_call', b'Sent last call'), (b'scheduled_for_telechat', b'Scheduled for telechat'), (b'iesg_approved', b'IESG approved document (no problem)'), (b'iesg_disapproved', b'IESG disapproved document (do not publish)'), (b'approved_in_minute', b'Approved in minute'), (b'iana_review', b'IANA review comment'), (b'rfc_in_iana_registry', b'RFC is in IANA registry'), (b'rfc_editor_received_announcement', b'Announcement was received by RFC Editor'), (b'requested_publication', b'Publication at RFC Editor requested'), (b'sync_from_rfc_editor', b'Received updated information from RFC Editor'), (b'requested_review', b'Requested review'), (b'assigned_review_request', b'Assigned review request'), (b'closed_review_request', b'Closed review request'), (b'closed_review_assignment', b'Closed review assignment'), (b'downref_approved', b'Downref approved')], max_length=50),
field=models.CharField(choices=[('new_revision', 'Added new revision'), ('new_submission', 'Uploaded new revision'), ('changed_document', 'Changed document metadata'), ('added_comment', 'Added comment'), ('added_message', 'Added message'), ('edited_authors', 'Edited the documents author list'), ('deleted', 'Deleted document'), ('changed_state', 'Changed state'), ('changed_stream', 'Changed document stream'), ('expired_document', 'Expired document'), ('extended_expiry', 'Extended expiry of document'), ('requested_resurrect', 'Requested resurrect'), ('completed_resurrect', 'Completed resurrect'), ('changed_consensus', 'Changed consensus'), ('published_rfc', 'Published RFC'), ('added_suggested_replaces', 'Added suggested replacement relationships'), ('reviewed_suggested_replaces', 'Reviewed suggested replacement relationships'), ('changed_group', 'Changed group'), ('changed_protocol_writeup', 'Changed protocol writeup'), ('changed_charter_milestone', 'Changed charter milestone'), ('initial_review', 'Set initial review time'), ('changed_review_announcement', 'Changed WG Review text'), ('changed_action_announcement', 'Changed WG Action text'), ('started_iesg_process', 'Started IESG process on document'), ('created_ballot', 'Created ballot'), ('closed_ballot', 'Closed ballot'), ('sent_ballot_announcement', 'Sent ballot announcement'), ('changed_ballot_position', 'Changed ballot position'), ('changed_ballot_approval_text', 'Changed ballot approval text'), ('changed_ballot_writeup_text', 'Changed ballot writeup text'), ('changed_rfc_editor_note_text', 'Changed RFC Editor Note text'), ('changed_last_call_text', 'Changed last call text'), ('requested_last_call', 'Requested last call'), ('sent_last_call', 'Sent last call'), ('scheduled_for_telechat', 'Scheduled for telechat'), ('iesg_approved', 'IESG approved document (no problem)'), ('iesg_disapproved', 'IESG disapproved document (do not publish)'), ('approved_in_minute', 'Approved in minute'), ('iana_review', 'IANA review comment'), ('rfc_in_iana_registry', 'RFC is in IANA registry'), ('rfc_editor_received_announcement', 'Announcement was received by RFC Editor'), ('requested_publication', 'Publication at RFC Editor requested'), ('sync_from_rfc_editor', 'Received updated information from RFC Editor'), ('requested_review', 'Requested review'), ('assigned_review_request', 'Assigned review request'), ('closed_review_request', 'Closed review request'), ('closed_review_assignment', 'Closed review assignment'), ('downref_approved', 'Downref approved')], max_length=50),
),
]

View file

@ -32,7 +32,7 @@ class Migration(migrations.Migration):
migrations.AlterField(
model_name='document',
name='name',
field=models.CharField(max_length=255, unique=True, validators=[django.core.validators.RegexValidator(b'^[-a-z0-9]+$', b'Provide a valid document name consisting of lowercase letters, numbers and hyphens.', b'invalid')]),
field=models.CharField(max_length=255, unique=True, validators=[django.core.validators.RegexValidator('^[-a-z0-9]+$', 'Provide a valid document name consisting of lowercase letters, numbers and hyphens.', 'invalid')]),
),
migrations.AlterField(
model_name='document',

View file

@ -71,7 +71,7 @@ class Migration(migrations.Migration):
migrations.AddField(
model_name='document',
name='formal_languages',
field=models.ManyToManyField(blank=True, help_text=b'Formal languages used in document', to='name.FormalLanguageName'),
field=models.ManyToManyField(blank=True, help_text='Formal languages used in document', to='name.FormalLanguageName'),
),
migrations.AddField(
model_name='document',

View file

@ -38,8 +38,8 @@ class Migration(migrations.Migration):
('parent', ietf.utils.models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='group.Group')),
('state', ietf.utils.models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='name.GroupStateName')),
('type', ietf.utils.models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='name.GroupTypeName')),
('unused_states', models.ManyToManyField(blank=True, help_text=b'Document states that have been disabled for the group.', to='doc.State')),
('unused_tags', models.ManyToManyField(blank=True, help_text=b'Document tags that have been disabled for the group.', to='name.DocTagName')),
('unused_states', models.ManyToManyField(blank=True, help_text='Document states that have been disabled for the group.', to='doc.State')),
('unused_tags', models.ManyToManyField(blank=True, help_text='Document tags that have been disabled for the group.', to='name.DocTagName')),
],
options={
'abstract': False,
@ -49,8 +49,8 @@ class Migration(migrations.Migration):
name='GroupEvent',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('time', models.DateTimeField(default=datetime.datetime.now, help_text=b'When the event happened')),
('type', models.CharField(choices=[(b'changed_state', b'Changed state'), (b'added_comment', b'Added comment'), (b'info_changed', b'Changed metadata'), (b'requested_close', b'Requested closing group'), (b'changed_milestone', b'Changed milestone'), (b'sent_notification', b'Sent notification'), (b'status_update', b'Status update')], max_length=50)),
('time', models.DateTimeField(default=datetime.datetime.now, help_text='When the event happened')),
('type', models.CharField(choices=[('changed_state', 'Changed state'), ('added_comment', 'Added comment'), ('info_changed', 'Changed metadata'), ('requested_close', 'Requested closing group'), ('changed_milestone', 'Changed milestone'), ('sent_notification', 'Sent notification'), ('status_update', 'Status update')], max_length=50)),
('desc', models.TextField()),
],
options={
@ -73,8 +73,8 @@ class Migration(migrations.Migration):
('parent', ietf.utils.models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='group.Group')),
('state', ietf.utils.models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='name.GroupStateName')),
('type', ietf.utils.models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='name.GroupTypeName')),
('unused_states', models.ManyToManyField(blank=True, help_text=b'Document states that have been disabled for the group.', to='doc.State')),
('unused_tags', models.ManyToManyField(blank=True, help_text=b'Document tags that have been disabled for the group.', to='name.DocTagName')),
('unused_states', models.ManyToManyField(blank=True, help_text='Document states that have been disabled for the group.', to='doc.State')),
('unused_tags', models.ManyToManyField(blank=True, help_text='Document tags that have been disabled for the group.', to='name.DocTagName')),
],
options={
'verbose_name_plural': 'group histories',
@ -84,9 +84,9 @@ class Migration(migrations.Migration):
name='GroupMilestone',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('desc', models.CharField(max_length=500, verbose_name=b'Description')),
('desc', models.CharField(max_length=500, verbose_name='Description')),
('due', models.DateField()),
('resolved', models.CharField(blank=True, help_text=b'Explanation of why milestone is resolved (usually "Done"), or empty if still due.', max_length=50)),
('resolved', models.CharField(blank=True, help_text='Explanation of why milestone is resolved (usually "Done"), or empty if still due.', max_length=50)),
('time', models.DateTimeField(auto_now=True)),
('docs', models.ManyToManyField(blank=True, to='doc.Document')),
('group', ietf.utils.models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='group.Group')),
@ -101,9 +101,9 @@ class Migration(migrations.Migration):
name='GroupMilestoneHistory',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('desc', models.CharField(max_length=500, verbose_name=b'Description')),
('desc', models.CharField(max_length=500, verbose_name='Description')),
('due', models.DateField()),
('resolved', models.CharField(blank=True, help_text=b'Explanation of why milestone is resolved (usually "Done"), or empty if still due.', max_length=50)),
('resolved', models.CharField(blank=True, help_text='Explanation of why milestone is resolved (usually "Done"), or empty if still due.', max_length=50)),
('time', models.DateTimeField()),
('docs', models.ManyToManyField(blank=True, to='doc.Document')),
('group', ietf.utils.models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='group.Group')),
@ -121,7 +121,7 @@ class Migration(migrations.Migration):
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('group', ietf.utils.models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='group.Group')),
('next_states', models.ManyToManyField(related_name='previous_groupstatetransitions_states', to='doc.State')),
('state', ietf.utils.models.ForeignKey(help_text=b'State for which the next states should be overridden', on_delete=django.db.models.deletion.CASCADE, to='doc.State')),
('state', ietf.utils.models.ForeignKey(help_text='State for which the next states should be overridden', on_delete=django.db.models.deletion.CASCADE, to='doc.State')),
],
),
migrations.CreateModel(
@ -137,7 +137,7 @@ class Migration(migrations.Migration):
name='Role',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('email', ietf.utils.models.ForeignKey(help_text=b'Email address used by person for this role.', on_delete=django.db.models.deletion.CASCADE, to='person.Email')),
('email', ietf.utils.models.ForeignKey(help_text='Email address used by person for this role.', on_delete=django.db.models.deletion.CASCADE, to='person.Email')),
('group', ietf.utils.models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='group.Group')),
('name', ietf.utils.models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='name.RoleName')),
('person', ietf.utils.models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='person.Person')),
@ -150,7 +150,7 @@ class Migration(migrations.Migration):
name='RoleHistory',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('email', ietf.utils.models.ForeignKey(help_text=b'Email address used by person for this role.', on_delete=django.db.models.deletion.CASCADE, to='person.Email')),
('email', ietf.utils.models.ForeignKey(help_text='Email address used by person for this role.', on_delete=django.db.models.deletion.CASCADE, to='person.Email')),
('group', ietf.utils.models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='group.GroupHistory')),
('name', ietf.utils.models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='name.RoleName')),
('person', ietf.utils.models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='person.Person')),

View file

@ -29,38 +29,38 @@ class Migration(migrations.Migration):
name='GroupFeatures',
fields=[
('type', ietf.utils.models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, primary_key=True, serialize=False, to='name.GroupTypeName', related_name='features')),
('has_milestones', models.BooleanField(default=False, verbose_name=b'Milestones')),
('has_chartering_process', models.BooleanField(default=False, verbose_name=b'Chartering')),
('has_documents', models.BooleanField(default=False, verbose_name=b'Documents')),
('has_dependencies', models.BooleanField(default=False, verbose_name=b'Dependencies')),
('has_nonsession_materials', models.BooleanField(default=False, verbose_name=b'Materials')),
('has_meetings', models.BooleanField(default=False, verbose_name=b'Meetings')),
('has_reviews', models.BooleanField(default=False, verbose_name=b'Reviews')),
('has_default_jabber', models.BooleanField(default=False, verbose_name=b'Jabber')),
('customize_workflow', models.BooleanField(default=False, verbose_name=b'Workflow')),
('about_page', models.CharField(default=b'ietf.group.views.group_about', max_length=64)),
('default_tab', models.CharField(default=b'ietf.group.views.group_about', max_length=64)),
('material_types', models.CharField(default=b'slides', max_length=64, validators=[django.core.validators.RegexValidator(code=b'invalid', message=b'Enter a comma-separated list of material types', regex=b'[a-z0-9_-]+(,[a-z0-9_-]+)*')])),
('admin_roles', models.CharField(default=b'chair', max_length=64, validators=[django.core.validators.RegexValidator(code=b'invalid', message=b'Enter a comma-separated list of role slugs', regex=b'[a-z0-9_-]+(,[a-z0-9_-]+)*')])),
('agenda_type', models.ForeignKey(default=b'ietf', null=True, on_delete=django.db.models.deletion.CASCADE, to='name.AgendaTypeName')),
('has_milestones', models.BooleanField(default=False, verbose_name='Milestones')),
('has_chartering_process', models.BooleanField(default=False, verbose_name='Chartering')),
('has_documents', models.BooleanField(default=False, verbose_name='Documents')),
('has_dependencies', models.BooleanField(default=False, verbose_name='Dependencies')),
('has_nonsession_materials', models.BooleanField(default=False, verbose_name='Materials')),
('has_meetings', models.BooleanField(default=False, verbose_name='Meetings')),
('has_reviews', models.BooleanField(default=False, verbose_name='Reviews')),
('has_default_jabber', models.BooleanField(default=False, verbose_name='Jabber')),
('customize_workflow', models.BooleanField(default=False, verbose_name='Workflow')),
('about_page', models.CharField(default='ietf.group.views.group_about', max_length=64)),
('default_tab', models.CharField(default='ietf.group.views.group_about', max_length=64)),
('material_types', models.CharField(default='slides', max_length=64, validators=[django.core.validators.RegexValidator(code=b'invalid', message=b'Enter a comma-separated list of material types', regex=b'[a-z0-9_-]+(,[a-z0-9_-]+)*')])),
('admin_roles', models.CharField(default='chair', max_length=64, validators=[django.core.validators.RegexValidator(code=b'invalid', message=b'Enter a comma-separated list of role slugs', regex=b'[a-z0-9_-]+(,[a-z0-9_-]+)*')])),
('agenda_type', models.ForeignKey(default='ietf', null=True, on_delete=django.db.models.deletion.CASCADE, to='name.AgendaTypeName')),
],
),
migrations.CreateModel(
name='HistoricalGroupFeatures',
fields=[
('has_milestones', models.BooleanField(default=False, verbose_name=b'Milestones')),
('has_chartering_process', models.BooleanField(default=False, verbose_name=b'Chartering')),
('has_documents', models.BooleanField(default=False, verbose_name=b'Documents')),
('has_dependencies', models.BooleanField(default=False, verbose_name=b'Dependencies')),
('has_nonsession_materials', models.BooleanField(default=False, verbose_name=b'Materials')),
('has_meetings', models.BooleanField(default=False, verbose_name=b'Meetings')),
('has_reviews', models.BooleanField(default=False, verbose_name=b'Reviews')),
('has_default_jabber', models.BooleanField(default=False, verbose_name=b'Jabber')),
('customize_workflow', models.BooleanField(default=False, verbose_name=b'Workflow')),
('about_page', models.CharField(default=b'ietf.group.views.group_about', max_length=64)),
('default_tab', models.CharField(default=b'ietf.group.views.group_about', max_length=64)),
('material_types', models.CharField(default=b'slides', max_length=64, validators=[django.core.validators.RegexValidator(code=b'invalid', message=b'Enter a comma-separated list of material types', regex=b'[a-z0-9_-]+(,[a-z0-9_-]+)*')])),
('admin_roles', models.CharField(default=b'chair', max_length=64, validators=[django.core.validators.RegexValidator(code=b'invalid', message=b'Enter a comma-separated list of role slugs', regex=b'[a-z0-9_-]+(,[a-z0-9_-]+)*')])),
('has_milestones', models.BooleanField(default=False, verbose_name='Milestones')),
('has_chartering_process', models.BooleanField(default=False, verbose_name='Chartering')),
('has_documents', models.BooleanField(default=False, verbose_name='Documents')),
('has_dependencies', models.BooleanField(default=False, verbose_name='Dependencies')),
('has_nonsession_materials', models.BooleanField(default=False, verbose_name='Materials')),
('has_meetings', models.BooleanField(default=False, verbose_name='Meetings')),
('has_reviews', models.BooleanField(default=False, verbose_name='Reviews')),
('has_default_jabber', models.BooleanField(default=False, verbose_name='Jabber')),
('customize_workflow', models.BooleanField(default=False, verbose_name='Workflow')),
('about_page', models.CharField(default='ietf.group.views.group_about', max_length=64)),
('default_tab', models.CharField(default='ietf.group.views.group_about', max_length=64)),
('material_types', models.CharField(default='slides', max_length=64, validators=[django.core.validators.RegexValidator(code=b'invalid', message=b'Enter a comma-separated list of material types', regex=b'[a-z0-9_-]+(,[a-z0-9_-]+)*')])),
('admin_roles', models.CharField(default='chair', max_length=64, validators=[django.core.validators.RegexValidator(code=b'invalid', message=b'Enter a comma-separated list of role slugs', regex=b'[a-z0-9_-]+(,[a-z0-9_-]+)*')])),
('history_id', models.AutoField(primary_key=True, serialize=False)),
('history_change_reason', models.CharField(max_length=100, null=True)),
('history_date', models.DateTimeField()),

View file

@ -19,91 +19,91 @@ class Migration(migrations.Migration):
migrations.AddField(
model_name='groupfeatures',
name='acts_like_wg',
field=models.BooleanField(default=False, verbose_name=b'WG-Like'),
field=models.BooleanField(default=False, verbose_name='WG-Like'),
),
migrations.AddField(
model_name='groupfeatures',
name='create_wiki',
field=models.BooleanField(default=False, verbose_name=b'Wiki'),
field=models.BooleanField(default=False, verbose_name='Wiki'),
),
migrations.AddField(
model_name='groupfeatures',
name='custom_group_roles',
field=models.BooleanField(default=False, verbose_name=b'Group Roles'),
field=models.BooleanField(default=False, verbose_name='Group Roles'),
),
migrations.AddField(
model_name='groupfeatures',
name='has_session_materials',
field=models.BooleanField(default=False, verbose_name=b'Materials'),
field=models.BooleanField(default=False, verbose_name='Materials'),
),
migrations.AddField(
model_name='groupfeatures',
name='is_schedulable',
field=models.BooleanField(default=False, verbose_name=b'Schedulable'),
field=models.BooleanField(default=False, verbose_name='Schedulable'),
),
migrations.AddField(
model_name='groupfeatures',
name='role_order',
field=models.CharField(default=b'chair,secr,member', help_text=b'The order in which roles are shown, for instance on photo pages', max_length=128, validators=[django.core.validators.RegexValidator(code=b'invalid', message=b'Enter a comma-separated list of role slugs', regex=b'[a-z0-9_-]+(,[a-z0-9_-]+)*')]),
field=models.CharField(default='chair,secr,member', help_text='The order in which roles are shown, for instance on photo pages', max_length=128, validators=[django.core.validators.RegexValidator(code=b'invalid', message=b'Enter a comma-separated list of role slugs', regex=b'[a-z0-9_-]+(,[a-z0-9_-]+)*')]),
),
migrations.AddField(
model_name='groupfeatures',
name='show_on_agenda',
field=models.BooleanField(default=False, verbose_name=b'On Agenda'),
field=models.BooleanField(default=False, verbose_name='On Agenda'),
),
migrations.AddField(
model_name='groupfeatures',
name='req_subm_approval',
field=models.BooleanField(default=False, verbose_name=b'Subm. Approval'),
field=models.BooleanField(default=False, verbose_name='Subm. Approval'),
),
migrations.AddField(
model_name='groupfeatures',
name='matman_roles',
field=models.CharField(default=b'ad,chair,delegate,secr', max_length=64, validators=[django.core.validators.RegexValidator(code=b'invalid', message=b'Enter a comma-separated list of role slugs', regex=b'[a-z0-9_-]+(,[a-z0-9_-]+)*')]),
field=models.CharField(default='ad,chair,delegate,secr', max_length=64, validators=[django.core.validators.RegexValidator(code=b'invalid', message=b'Enter a comma-separated list of role slugs', regex=b'[a-z0-9_-]+(,[a-z0-9_-]+)*')]),
),
migrations.AddField(
model_name='historicalgroupfeatures',
name='acts_like_wg',
field=models.BooleanField(default=False, verbose_name=b'WG-Like'),
field=models.BooleanField(default=False, verbose_name='WG-Like'),
),
migrations.AddField(
model_name='historicalgroupfeatures',
name='create_wiki',
field=models.BooleanField(default=False, verbose_name=b'Wiki'),
field=models.BooleanField(default=False, verbose_name='Wiki'),
),
migrations.AddField(
model_name='historicalgroupfeatures',
name='custom_group_roles',
field=models.BooleanField(default=False, verbose_name=b'Group Roles'),
field=models.BooleanField(default=False, verbose_name='Group Roles'),
),
migrations.AddField(
model_name='historicalgroupfeatures',
name='has_session_materials',
field=models.BooleanField(default=False, verbose_name=b'Materials'),
field=models.BooleanField(default=False, verbose_name='Materials'),
),
migrations.AddField(
model_name='historicalgroupfeatures',
name='is_schedulable',
field=models.BooleanField(default=False, verbose_name=b'Schedulable'),
field=models.BooleanField(default=False, verbose_name='Schedulable'),
),
migrations.AddField(
model_name='historicalgroupfeatures',
name='role_order',
field=models.CharField(default=b'chair,secr,member', help_text=b'The order in which roles are shown, for instance on photo pages', max_length=128, validators=[django.core.validators.RegexValidator(code=b'invalid', message=b'Enter a comma-separated list of role slugs', regex=b'[a-z0-9_-]+(,[a-z0-9_-]+)*')]),
field=models.CharField(default='chair,secr,member', help_text='The order in which roles are shown, for instance on photo pages', max_length=128, validators=[django.core.validators.RegexValidator(code=b'invalid', message=b'Enter a comma-separated list of role slugs', regex=b'[a-z0-9_-]+(,[a-z0-9_-]+)*')]),
),
migrations.AddField(
model_name='historicalgroupfeatures',
name='show_on_agenda',
field=models.BooleanField(default=False, verbose_name=b'On Agenda'),
field=models.BooleanField(default=False, verbose_name='On Agenda'),
),
migrations.AddField(
model_name='historicalgroupfeatures',
name='req_subm_approval',
field=models.BooleanField(default=False, verbose_name=b'Subm. Approval'),
field=models.BooleanField(default=False, verbose_name='Subm. Approval'),
),
migrations.AddField(
model_name='historicalgroupfeatures',
name='matman_roles',
field=models.CharField(default=b'ad,chair,delegate,secr', max_length=64, validators=[django.core.validators.RegexValidator(code=b'invalid', message=b'Enter a comma-separated list of role slugs', regex=b'[a-z0-9_-]+(,[a-z0-9_-]+)*')]),
field=models.CharField(default='ad,chair,delegate,secr', max_length=64, validators=[django.core.validators.RegexValidator(code=b'invalid', message=b'Enter a comma-separated list of role slugs', regex=b'[a-z0-9_-]+(,[a-z0-9_-]+)*')]),
),
]

View file

@ -19,91 +19,91 @@ class Migration(migrations.Migration):
migrations.AddField(
model_name='groupfeatures',
name='docman_roles',
field=jsonfield.fields.JSONField(default=[b'ad', b'chair', b'delegate', b'secr'], max_length=128),
field=jsonfield.fields.JSONField(default=['ad', 'chair', 'delegate', 'secr'], max_length=128),
),
migrations.AddField(
model_name='groupfeatures',
name='groupman_roles',
field=jsonfield.fields.JSONField(default=[b'ad', b'chair'], max_length=128),
field=jsonfield.fields.JSONField(default=['ad', 'chair'], max_length=128),
),
migrations.AddField(
model_name='historicalgroupfeatures',
name='docman_roles',
field=jsonfield.fields.JSONField(default=[b'ad', b'chair', b'delegate', b'secr'], max_length=128),
field=jsonfield.fields.JSONField(default=['ad', 'chair', 'delegate', 'secr'], max_length=128),
),
migrations.AddField(
model_name='historicalgroupfeatures',
name='groupman_roles',
field=jsonfield.fields.JSONField(default=[b'ad', b'chair'], max_length=128),
field=jsonfield.fields.JSONField(default=['ad', 'chair'], max_length=128),
),
migrations.AlterField(
model_name='groupfeatures',
name='admin_roles',
field=jsonfield.fields.JSONField(default=[b'chair'], max_length=64),
field=jsonfield.fields.JSONField(default=['chair'], max_length=64),
),
migrations.AlterField(
model_name='groupfeatures',
name='custom_group_roles',
field=models.BooleanField(default=False, verbose_name=b'Cust. Roles'),
field=models.BooleanField(default=False, verbose_name='Cust. Roles'),
),
migrations.AlterField(
model_name='groupfeatures',
name='has_nonsession_materials',
field=models.BooleanField(default=False, verbose_name=b'Other Matrl.'),
field=models.BooleanField(default=False, verbose_name='Other Matrl.'),
),
migrations.AlterField(
model_name='groupfeatures',
name='has_session_materials',
field=models.BooleanField(default=False, verbose_name=b'Sess Matrl.'),
field=models.BooleanField(default=False, verbose_name='Sess Matrl.'),
),
migrations.AlterField(
model_name='groupfeatures',
name='material_types',
field=jsonfield.fields.JSONField(default=[b'slides'], max_length=64),
field=jsonfield.fields.JSONField(default=['slides'], max_length=64),
),
migrations.AlterField(
model_name='groupfeatures',
name='matman_roles',
field=jsonfield.fields.JSONField(default=[b'ad', b'chair', b'delegate', b'secr'], max_length=128),
field=jsonfield.fields.JSONField(default=['ad', 'chair', 'delegate', 'secr'], max_length=128),
),
migrations.AlterField(
model_name='groupfeatures',
name='role_order',
field=jsonfield.fields.JSONField(default=[b'chair', b'secr', b'member'], help_text=b'The order in which roles are shown, for instance on photo pages. Enter valid JSON.', max_length=128),
field=jsonfield.fields.JSONField(default=['chair', 'secr', 'member'], help_text='The order in which roles are shown, for instance on photo pages. Enter valid JSON.', max_length=128),
),
migrations.AlterField(
model_name='historicalgroupfeatures',
name='admin_roles',
field=jsonfield.fields.JSONField(default=[b'chair'], max_length=64),
field=jsonfield.fields.JSONField(default=['chair'], max_length=64),
),
migrations.AlterField(
model_name='historicalgroupfeatures',
name='custom_group_roles',
field=models.BooleanField(default=False, verbose_name=b'Cust. Roles'),
field=models.BooleanField(default=False, verbose_name='Cust. Roles'),
),
migrations.AlterField(
model_name='historicalgroupfeatures',
name='has_nonsession_materials',
field=models.BooleanField(default=False, verbose_name=b'Other Matrl.'),
field=models.BooleanField(default=False, verbose_name='Other Matrl.'),
),
migrations.AlterField(
model_name='historicalgroupfeatures',
name='has_session_materials',
field=models.BooleanField(default=False, verbose_name=b'Sess Matrl.'),
field=models.BooleanField(default=False, verbose_name='Sess Matrl.'),
),
migrations.AlterField(
model_name='historicalgroupfeatures',
name='material_types',
field=jsonfield.fields.JSONField(default=[b'slides'], max_length=64),
field=jsonfield.fields.JSONField(default=['slides'], max_length=64),
),
migrations.AlterField(
model_name='historicalgroupfeatures',
name='matman_roles',
field=jsonfield.fields.JSONField(default=[b'ad', b'chair', b'delegate', b'secr'], max_length=128),
field=jsonfield.fields.JSONField(default=['ad', 'chair', 'delegate', 'secr'], max_length=128),
),
migrations.AlterField(
model_name='historicalgroupfeatures',
name='role_order',
field=jsonfield.fields.JSONField(default=[b'chair', b'secr', b'member'], help_text=b'The order in which roles are shown, for instance on photo pages. Enter valid JSON.', max_length=128),
field=jsonfield.fields.JSONField(default=['chair', 'secr', 'member'], help_text='The order in which roles are shown, for instance on photo pages. Enter valid JSON.', max_length=128),
),
]

View file

@ -19,6 +19,6 @@ class Migration(migrations.Migration):
migrations.AlterField(
model_name='historicalgroupfeatures',
name='agenda_type',
field=models.ForeignKey(blank=True, db_constraint=False, default=b'ietf', null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='name.AgendaTypeName'),
field=models.ForeignKey(blank=True, db_constraint=False, default='ietf', null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='name.AgendaTypeName'),
),
]

View file

@ -35,12 +35,12 @@ class Migration(migrations.Migration):
migrations.AddField(
model_name='group',
name='charter2',
field=ietf.utils.models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='chartered_group', to='doc.Document', to_field=b'id'),
field=ietf.utils.models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='chartered_group', to='doc.Document', to_field='id'),
),
migrations.AlterField(
model_name='group',
name='charter',
field=ietf.utils.models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='old_group', to='doc.Document', to_field=b'name'),
field=ietf.utils.models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='old_group', to='doc.Document', to_field='name'),
),
migrations.AddField(
model_name='groupmilestone',

View file

@ -26,10 +26,10 @@ class Migration(migrations.Migration):
name='IprDisclosureBase',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('compliant', models.BooleanField(default=True, verbose_name=b'Complies to RFC3979')),
('compliant', models.BooleanField(default=True, verbose_name='Complies to RFC3979')),
('holder_legal_name', models.CharField(max_length=255)),
('notes', models.TextField(blank=True, verbose_name=b'Additional notes')),
('other_designations', models.CharField(blank=True, max_length=255, verbose_name=b'Designations for other contributions')),
('notes', models.TextField(blank=True, verbose_name='Additional notes')),
('other_designations', models.CharField(blank=True, max_length=255, verbose_name='Designations for other contributions')),
('submitter_name', models.CharField(blank=True, max_length=255)),
('submitter_email', models.EmailField(blank=True, max_length=254)),
('time', models.DateTimeField(auto_now_add=True)),
@ -69,7 +69,7 @@ class Migration(migrations.Migration):
('iprdisclosurebase_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='ipr.IprDisclosureBase')),
('holder_contact_name', models.CharField(max_length=255)),
('holder_contact_email', models.EmailField(max_length=254)),
('holder_contact_info', models.TextField(blank=True, help_text=b'Address, phone, etc.')),
('holder_contact_info', models.TextField(blank=True, help_text='Address, phone, etc.')),
('statement', models.TextField()),
],
bases=('ipr.iprdisclosurebase',),
@ -85,7 +85,7 @@ class Migration(migrations.Migration):
('has_patent_pending', models.BooleanField(default=False)),
('holder_contact_email', models.EmailField(max_length=254)),
('holder_contact_name', models.CharField(max_length=255)),
('holder_contact_info', models.TextField(blank=True, help_text=b'Address, phone, etc.')),
('holder_contact_info', models.TextField(blank=True, help_text='Address, phone, etc.')),
('licensing_comments', models.TextField(blank=True)),
('submitter_claims_all_terms_disclosed', models.BooleanField(default=False)),
('licensing', ietf.utils.models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='name.IprLicenseTypeName')),
@ -105,7 +105,7 @@ class Migration(migrations.Migration):
('iprdisclosurebase_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='ipr.IprDisclosureBase')),
('holder_contact_name', models.CharField(max_length=255)),
('holder_contact_email', models.EmailField(max_length=254)),
('holder_contact_info', models.TextField(blank=True, help_text=b'Address, phone, etc.')),
('holder_contact_info', models.TextField(blank=True, help_text='Address, phone, etc.')),
('patent_info', models.TextField()),
('has_patent_pending', models.BooleanField(default=False)),
('statement', models.TextField()),
@ -118,7 +118,7 @@ class Migration(migrations.Migration):
('iprdisclosurebase_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='ipr.IprDisclosureBase')),
('ietfer_name', models.CharField(max_length=255)),
('ietfer_contact_email', models.EmailField(max_length=254)),
('ietfer_contact_info', models.TextField(blank=True, help_text=b'Address, phone, etc.')),
('ietfer_contact_info', models.TextField(blank=True, help_text='Address, phone, etc.')),
('patent_info', models.TextField()),
('has_patent_pending', models.BooleanField(default=False)),
],

View file

@ -27,10 +27,10 @@ class Migration(migrations.Migration):
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('title', models.CharField(max_length=255)),
('to_contacts', models.CharField(help_text=b'Contacts at recipient group', max_length=2000)),
('response_contacts', models.CharField(blank=True, help_text=b'Where to send a response', max_length=255)),
('technical_contacts', models.CharField(blank=True, help_text=b'Who to contact for clarification', max_length=255)),
('action_holder_contacts', models.CharField(blank=True, help_text=b'Who makes sure action is completed', max_length=255)),
('to_contacts', models.CharField(help_text='Contacts at recipient group', max_length=2000)),
('response_contacts', models.CharField(blank=True, help_text='Where to send a response', max_length=255)),
('technical_contacts', models.CharField(blank=True, help_text='Who to contact for clarification', max_length=255)),
('action_holder_contacts', models.CharField(blank=True, help_text='Who makes sure action is completed', max_length=255)),
('cc_contacts', models.TextField(blank=True)),
('deadline', models.DateField(blank=True, null=True)),
('other_identifiers', models.TextField(blank=True, null=True)),
@ -101,7 +101,7 @@ class Migration(migrations.Migration):
migrations.AddField(
model_name='liaisonstatement',
name='state',
field=ietf.utils.models.ForeignKey(default=b'pending', on_delete=django.db.models.deletion.CASCADE, to='name.LiaisonStatementState'),
field=ietf.utils.models.ForeignKey(default='pending', on_delete=django.db.models.deletion.CASCADE, to='name.LiaisonStatementState'),
),
migrations.AddField(
model_name='liaisonstatement',

View file

@ -46,7 +46,7 @@ class Migration(migrations.Migration):
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('time', models.DateTimeField(auto_now_add=True)),
('email', models.CharField(max_length=64, validators=[django.core.validators.EmailValidator()], verbose_name=b'Email address')),
('email', models.CharField(max_length=64, validators=[django.core.validators.EmailValidator()], verbose_name='Email address')),
('by', ietf.utils.models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='person.Person')),
],
options={

File diff suppressed because one or more lines are too long

View file

@ -38,6 +38,6 @@ class Migration(migrations.Migration):
migrations.AlterField(
model_name='floorplan',
name='short',
field=models.CharField(default=b'', max_length=3),
field=models.CharField(default='', max_length=3),
),
]

File diff suppressed because one or more lines are too long

View file

@ -18,11 +18,11 @@ class Migration(migrations.Migration):
migrations.AddField(
model_name='meeting',
name='agenda_info_note',
field=models.TextField(blank=True, help_text=b'Text in this field will be placed at the top of the html agenda page for the meeting. HTML can be used, but will not be validated.'),
field=models.TextField(blank=True, help_text='Text in this field will be placed at the top of the html agenda page for the meeting. HTML can be used, but will not be validated.'),
),
migrations.AlterField(
model_name='meeting',
name='agenda_warning_note',
field=models.TextField(blank=True, help_text=b'Text in this field will be placed more prominently at the top of the html agenda page for the meeting. HTML can be used, but will not be validated.'),
field=models.TextField(blank=True, help_text='Text in this field will be placed more prominently at the top of the html agenda page for the meeting. HTML can be used, but will not be validated.'),
),
]

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -48,7 +48,7 @@ class Migration(migrations.Migration):
('bcc', models.CharField(blank=True, max_length=255)),
('reply_to', models.CharField(blank=True, max_length=255)),
('body', models.TextField()),
('content_type', models.CharField(blank=True, default=b'text/plain', max_length=255)),
('content_type', models.CharField(blank=True, default='text/plain', max_length=255)),
('msgid', models.CharField(blank=True, default=email.utils.make_msgid, max_length=255, null=True)),
('by', ietf.utils.models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='person.Person')),
('related_docs', models.ManyToManyField(blank=True, to='doc.Document')),

View file

@ -41,7 +41,7 @@ class Migration(migrations.Migration):
('desc', models.TextField(blank=True)),
('used', models.BooleanField(default=True)),
('order', models.IntegerField(default=0)),
('penalty', models.IntegerField(default=0, help_text=b'The penalty for violating this kind of constraint; for instance 10 (small penalty) or 10000 (large penalty)')),
('penalty', models.IntegerField(default=0, help_text='The penalty for violating this kind of constraint; for instance 10 (small penalty) or 10000 (large penalty)')),
],
options={
'ordering': ['order', 'name'],
@ -70,7 +70,7 @@ class Migration(migrations.Migration):
('desc', models.TextField(blank=True)),
('used', models.BooleanField(default=True)),
('order', models.IntegerField(default=0)),
('in_eu', models.BooleanField(default=False, verbose_name=b'In EU')),
('in_eu', models.BooleanField(default=False, verbose_name='In EU')),
('continent', ietf.utils.models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='name.ContinentName')),
],
options={
@ -143,7 +143,7 @@ class Migration(migrations.Migration):
('desc', models.TextField(blank=True)),
('used', models.BooleanField(default=True)),
('order', models.IntegerField(default=0)),
('prefix', models.CharField(default=b'', max_length=16)),
('prefix', models.CharField(default='', max_length=16)),
],
options={
'ordering': ['order', 'name'],
@ -243,7 +243,7 @@ class Migration(migrations.Migration):
('desc', models.TextField(blank=True)),
('used', models.BooleanField(default=True)),
('order', models.IntegerField(default=0)),
('verbose_name', models.CharField(default=b'', max_length=255)),
('verbose_name', models.CharField(default='', max_length=255)),
],
options={
'ordering': ['order', 'name'],

View file

@ -31,9 +31,9 @@ class Migration(migrations.Migration):
name='Feedback',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('author', models.EmailField(blank=True, max_length=254, verbose_name=b'Author')),
('subject', models.TextField(blank=True, verbose_name=b'Subject')),
('comments', ietf.nomcom.fields.EncryptedTextField(verbose_name=b'Comments')),
('author', models.EmailField(blank=True, max_length=254, verbose_name='Author')),
('subject', models.TextField(blank=True, verbose_name='Subject')),
('comments', ietf.nomcom.fields.EncryptedTextField(verbose_name='Comments')),
('time', models.DateTimeField(auto_now_add=True)),
],
options={
@ -52,10 +52,10 @@ class Migration(migrations.Migration):
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('public_key', models.FileField(blank=True, null=True, storage=ietf.utils.storage.NoLocationMigrationFileSystemStorage(location=None), upload_to=ietf.nomcom.models.upload_path_handler)),
('send_questionnaire', models.BooleanField(default=False, help_text=b'If you check this box, questionnaires are sent automatically after nominations.', verbose_name=b'Send questionnaires automatically')),
('reminder_interval', models.PositiveIntegerField(blank=True, help_text=b'If the nomcom user sets the interval field then a cron command will send reminders to the nominees who have not responded using the following formula: (today - nomination_date) % interval == 0.', null=True)),
('initial_text', models.TextField(blank=True, verbose_name=b'Help text for nomination form')),
('show_nominee_pictures', models.BooleanField(default=True, help_text=b'Display pictures of each nominee (if available) on the feedback pages', verbose_name=b'Show nominee pictures')),
('send_questionnaire', models.BooleanField(default=False, help_text='If you check this box, questionnaires are sent automatically after nominations.', verbose_name='Send questionnaires automatically')),
('reminder_interval', models.PositiveIntegerField(blank=True, help_text='If the nomcom user sets the interval field then a cron command will send reminders to the nominees who have not responded using the following formula: (today - nomination_date) % interval == 0.', null=True)),
('initial_text', models.TextField(blank=True, verbose_name='Help text for nomination form')),
('show_nominee_pictures', models.BooleanField(default=True, help_text='Display pictures of each nominee (if available) on the feedback pages', verbose_name='Show nominee pictures')),
('group', ietf.utils.models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='group.Group')),
],
options={
@ -67,12 +67,12 @@ class Migration(migrations.Migration):
name='Nomination',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('candidate_name', models.CharField(max_length=255, verbose_name=b'Candidate name')),
('candidate_email', models.EmailField(max_length=255, verbose_name=b'Candidate email')),
('candidate_phone', models.CharField(blank=True, max_length=255, verbose_name=b'Candidate phone')),
('nominator_email', models.EmailField(blank=True, max_length=254, verbose_name=b'Nominator Email')),
('candidate_name', models.CharField(max_length=255, verbose_name='Candidate name')),
('candidate_email', models.EmailField(max_length=255, verbose_name='Candidate email')),
('candidate_phone', models.CharField(blank=True, max_length=255, verbose_name='Candidate phone')),
('nominator_email', models.EmailField(blank=True, max_length=254, verbose_name='Nominator Email')),
('time', models.DateTimeField(auto_now_add=True)),
('share_nominator', models.BooleanField(default=False, help_text=b'Check this box to allow the NomCom to let the person you are nominating know that you were one of the people who nominated them. If you do not check this box, your name will be confidential and known only within NomCom.', verbose_name=b'Share nominator name with candidate')),
('share_nominator', models.BooleanField(default=False, help_text='Check this box to allow the NomCom to let the person you are nominating know that you were one of the people who nominated them. If you do not check this box, your name will be confidential and known only within NomCom.', verbose_name='Share nominator name with candidate')),
('comments', ietf.utils.models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='nomcom.Feedback')),
],
options={
@ -109,10 +109,10 @@ class Migration(migrations.Migration):
name='Position',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(help_text=b'This short description will appear on the Nomination and Feedback pages. Be as descriptive as necessary. Past examples: "Transport AD", "IAB Member"', max_length=255, verbose_name=b'Name')),
('is_open', models.BooleanField(default=False, help_text=b'Set is_open when the nomcom is working on a position. Clear it when an appointment is confirmed.', verbose_name=b'Is open')),
('accepting_nominations', models.BooleanField(default=False, verbose_name=b'Is accepting nominations')),
('accepting_feedback', models.BooleanField(default=False, verbose_name=b'Is accepting feedback')),
('name', models.CharField(help_text='This short description will appear on the Nomination and Feedback pages. Be as descriptive as necessary. Past examples: "Transport AD", "IAB Member"', max_length=255, verbose_name='Name')),
('is_open', models.BooleanField(default=False, help_text='Set is_open when the nomcom is working on a position. Clear it when an appointment is confirmed.', verbose_name='Is open')),
('accepting_nominations', models.BooleanField(default=False, verbose_name='Is accepting nominations')),
('accepting_feedback', models.BooleanField(default=False, verbose_name='Is accepting feedback')),
('nomcom', ietf.utils.models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='nomcom.NomCom')),
('questionnaire', ietf.utils.models.ForeignKey(editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='questionnaire', to='dbtemplate.DBTemplate')),
('requirement', ietf.utils.models.ForeignKey(editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='requirement', to='dbtemplate.DBTemplate')),
@ -133,8 +133,8 @@ class Migration(migrations.Migration):
name='Topic',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('subject', models.CharField(help_text=b'This short description will appear on the Feedback pages.', max_length=255, verbose_name=b'Name')),
('accepting_feedback', models.BooleanField(default=False, verbose_name=b'Is accepting feedback')),
('subject', models.CharField(help_text='This short description will appear on the Feedback pages.', max_length=255, verbose_name='Name')),
('accepting_feedback', models.BooleanField(default=False, verbose_name='Is accepting feedback')),
('audience', ietf.utils.models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='name.TopicAudienceName')),
('description', ietf.utils.models.ForeignKey(editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='description', to='dbtemplate.DBTemplate')),
('nomcom', ietf.utils.models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='nomcom.NomCom')),

View file

@ -18,6 +18,6 @@ class Migration(migrations.Migration):
migrations.AddField(
model_name='nomcom',
name='show_accepted_nominees',
field=models.BooleanField(default=True, help_text=b'Show accepted nominees on the public nomination page', verbose_name=b'Show accepted nominees'),
field=models.BooleanField(default=True, help_text='Show accepted nominees on the public nomination page', verbose_name='Show accepted nominees'),
),
]

View file

@ -48,14 +48,14 @@ class Migration(migrations.Migration):
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('time', models.DateTimeField(default=datetime.datetime.now)),
('name', models.CharField(db_index=True, help_text=b'Preferred form of name.', max_length=255, verbose_name=b'Full Name (Unicode)')),
('ascii', models.CharField(help_text=b'Name as rendered in ASCII (Latin, unaccented) characters.', max_length=255, verbose_name=b'Full Name (ASCII)')),
('ascii_short', models.CharField(blank=True, help_text=b'Example: A. Nonymous. Fill in this with initials and surname only if taking the initials and surname of the ASCII name above produces an incorrect initials-only form. (Blank is OK).', max_length=32, null=True, verbose_name=b'Abbreviated Name (ASCII)')),
('affiliation', models.CharField(blank=True, help_text=b'Employer, university, sponsor, etc.', max_length=255)),
('address', models.TextField(blank=True, help_text=b'Postal mailing address.', max_length=255)),
('biography', models.TextField(blank=True, help_text=b'Short biography for use on leadership pages. Use plain text or reStructuredText markup.')),
('photo', models.ImageField(blank=True, default=None, storage=ietf.utils.storage.NoLocationMigrationFileSystemStorage(location=None), upload_to=b'photo')),
('photo_thumb', models.ImageField(blank=True, default=None, storage=ietf.utils.storage.NoLocationMigrationFileSystemStorage(location=None), upload_to=b'photo')),
('name', models.CharField(db_index=True, help_text='Preferred form of name.', max_length=255, verbose_name='Full Name (Unicode)')),
('ascii', models.CharField(help_text='Name as rendered in ASCII (Latin, unaccented) characters.', max_length=255, verbose_name='Full Name (ASCII)')),
('ascii_short', models.CharField(blank=True, help_text='Example: A. Nonymous. Fill in this with initials and surname only if taking the initials and surname of the ASCII name above produces an incorrect initials-only form. (Blank is OK).', max_length=32, null=True, verbose_name='Abbreviated Name (ASCII)')),
('affiliation', models.CharField(blank=True, help_text='Employer, university, sponsor, etc.', max_length=255)),
('address', models.TextField(blank=True, help_text='Postal mailing address.', max_length=255)),
('biography', models.TextField(blank=True, help_text='Short biography for use on leadership pages. Use plain text or reStructuredText markup.')),
('photo', models.ImageField(blank=True, default=None, storage=ietf.utils.storage.NoLocationMigrationFileSystemStorage(location=None), upload_to='photo')),
('photo_thumb', models.ImageField(blank=True, default=None, storage=ietf.utils.storage.NoLocationMigrationFileSystemStorage(location=None), upload_to='photo')),
('user', ietf.utils.models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
],
options={
@ -66,7 +66,7 @@ class Migration(migrations.Migration):
name='PersonalApiKey',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('endpoint', models.CharField(choices=[(b'/api/iesg/position', b'/api/iesg/position')], max_length=128)),
('endpoint', models.CharField(choices=[('/api/iesg/position', '/api/iesg/position')], max_length=128)),
('created', models.DateTimeField(default=datetime.datetime.now)),
('valid', models.BooleanField(default=True)),
('salt', models.BinaryField(default=ietf.person.models.salt, max_length=12)),
@ -79,8 +79,8 @@ class Migration(migrations.Migration):
name='PersonEvent',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('time', models.DateTimeField(default=datetime.datetime.now, help_text=b'When the event happened')),
('type', models.CharField(choices=[(b'apikey_login', b'API key login')], max_length=50)),
('time', models.DateTimeField(default=datetime.datetime.now, help_text='When the event happened')),
('type', models.CharField(choices=[('apikey_login', 'API key login')], max_length=50)),
('desc', models.TextField()),
],
options={
@ -92,14 +92,14 @@ class Migration(migrations.Migration):
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('time', models.DateTimeField(default=datetime.datetime.now)),
('name', models.CharField(db_index=True, help_text=b'Preferred form of name.', max_length=255, verbose_name=b'Full Name (Unicode)')),
('ascii', models.CharField(help_text=b'Name as rendered in ASCII (Latin, unaccented) characters.', max_length=255, verbose_name=b'Full Name (ASCII)')),
('ascii_short', models.CharField(blank=True, help_text=b'Example: A. Nonymous. Fill in this with initials and surname only if taking the initials and surname of the ASCII name above produces an incorrect initials-only form. (Blank is OK).', max_length=32, null=True, verbose_name=b'Abbreviated Name (ASCII)')),
('affiliation', models.CharField(blank=True, help_text=b'Employer, university, sponsor, etc.', max_length=255)),
('address', models.TextField(blank=True, help_text=b'Postal mailing address.', max_length=255)),
('biography', models.TextField(blank=True, help_text=b'Short biography for use on leadership pages. Use plain text or reStructuredText markup.')),
('photo', models.ImageField(blank=True, default=None, storage=ietf.utils.storage.NoLocationMigrationFileSystemStorage(location=None), upload_to=b'photo')),
('photo_thumb', models.ImageField(blank=True, default=None, storage=ietf.utils.storage.NoLocationMigrationFileSystemStorage(location=None), upload_to=b'photo')),
('name', models.CharField(db_index=True, help_text='Preferred form of name.', max_length=255, verbose_name='Full Name (Unicode)')),
('ascii', models.CharField(help_text='Name as rendered in ASCII (Latin, unaccented) characters.', max_length=255, verbose_name='Full Name (ASCII)')),
('ascii_short', models.CharField(blank=True, help_text='Example: A. Nonymous. Fill in this with initials and surname only if taking the initials and surname of the ASCII name above produces an incorrect initials-only form. (Blank is OK).', max_length=32, null=True, verbose_name='Abbreviated Name (ASCII)')),
('affiliation', models.CharField(blank=True, help_text='Employer, university, sponsor, etc.', max_length=255)),
('address', models.TextField(blank=True, help_text='Postal mailing address.', max_length=255)),
('biography', models.TextField(blank=True, help_text='Short biography for use on leadership pages. Use plain text or reStructuredText markup.')),
('photo', models.ImageField(blank=True, default=None, storage=ietf.utils.storage.NoLocationMigrationFileSystemStorage(location=None), upload_to='photo')),
('photo_thumb', models.ImageField(blank=True, default=None, storage=ietf.utils.storage.NoLocationMigrationFileSystemStorage(location=None), upload_to='photo')),
('person', ietf.utils.models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='history_set', to='person.Person')),
('user', ietf.utils.models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
],

View file

@ -18,6 +18,6 @@ class Migration(migrations.Migration):
migrations.AlterField(
model_name='personalapikey',
name='endpoint',
field=models.CharField(choices=[(b'/api/iesg/position', b'/api/iesg/position'), (b'/api/meeting/session/video/url', b'/api/meeting/session/video/url')], max_length=128),
field=models.CharField(choices=[('/api/iesg/position', '/api/iesg/position'), ('/api/meeting/session/video/url', '/api/meeting/session/video/url')], max_length=128),
),
]

View file

@ -27,7 +27,7 @@ class Migration(migrations.Migration):
('address', models.CharField(db_index=True, max_length=64, validators=[django.core.validators.EmailValidator()])),
('time', models.DateTimeField(blank=True, editable=False)),
('primary', models.BooleanField(default=False)),
('origin', models.CharField(default=b'', editable=False, max_length=150)),
('origin', models.CharField(default='', editable=False, max_length=150)),
('active', models.BooleanField(default=True)),
('history_id', models.AutoField(primary_key=True, serialize=False)),
('history_date', models.DateTimeField()),
@ -46,13 +46,13 @@ class Migration(migrations.Migration):
fields=[
('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')),
('time', models.DateTimeField(default=datetime.datetime.now)),
('name', models.CharField(db_index=True, help_text=b'Preferred form of name.', max_length=255, verbose_name=b'Full Name (Unicode)')),
('ascii', models.CharField(help_text=b'Name as rendered in ASCII (Latin, unaccented) characters.', max_length=255, verbose_name=b'Full Name (ASCII)')),
('ascii_short', models.CharField(blank=True, help_text=b'Example: A. Nonymous. Fill in this with initials and surname only if taking the initials and surname of the ASCII name above produces an incorrect initials-only form. (Blank is OK).', max_length=32, null=True, verbose_name=b'Abbreviated Name (ASCII)')),
('biography', models.TextField(blank=True, help_text=b'Short biography for use on leadership pages. Use plain text or reStructuredText markup.')),
('name', models.CharField(db_index=True, help_text='Preferred form of name.', max_length=255, verbose_name='Full Name (Unicode)')),
('ascii', models.CharField(help_text='Name as rendered in ASCII (Latin, unaccented) characters.', max_length=255, verbose_name='Full Name (ASCII)')),
('ascii_short', models.CharField(blank=True, help_text='Example: A. Nonymous. Fill in this with initials and surname only if taking the initials and surname of the ASCII name above produces an incorrect initials-only form. (Blank is OK).', max_length=32, null=True, verbose_name='Abbreviated Name (ASCII)')),
('biography', models.TextField(blank=True, help_text='Short biography for use on leadership pages. Use plain text or reStructuredText markup.')),
('photo', models.TextField(blank=True, default=None, max_length=100)),
('photo_thumb', models.TextField(blank=True, default=None, max_length=100)),
('name_from_draft', models.CharField(editable=False, help_text=b'Name as found in a draft submission.', max_length=255, null=True, verbose_name=b'Full Name (from submission)')),
('name_from_draft', models.CharField(editable=False, help_text='Name as found in a draft submission.', max_length=255, null=True, verbose_name='Full Name (from submission)')),
('history_id', models.AutoField(primary_key=True, serialize=False)),
('history_date', models.DateTimeField()),
('history_change_reason', models.CharField(max_length=100, null=True)),
@ -85,12 +85,12 @@ class Migration(migrations.Migration):
migrations.AddField(
model_name='email',
name='origin',
field=models.CharField(default=b'', editable=False, max_length=150),
field=models.CharField(default='', editable=False, max_length=150),
),
migrations.AddField(
model_name='person',
name='name_from_draft',
field=models.CharField(editable=False, help_text=b'Name as found in a draft submission.', max_length=255, null=True, verbose_name=b'Full Name (from submission)'),
field=models.CharField(editable=False, help_text='Name as found in a draft submission.', max_length=255, null=True, verbose_name='Full Name (from submission)'),
),
migrations.DeleteModel(
name='PersonHistory',
@ -103,11 +103,11 @@ class Migration(migrations.Migration):
migrations.AddField(
model_name='historicalperson',
name='consent',
field=models.NullBooleanField(default=None, verbose_name=b'I hereby give my consent to the use of the personal details I have provided (photo, bio, name, email) within the IETF Datatracker'),
field=models.NullBooleanField(default=None, verbose_name='I hereby give my consent to the use of the personal details I have provided (photo, bio, name, email) within the IETF Datatracker'),
),
migrations.AddField(
model_name='person',
name='consent',
field=models.NullBooleanField(default=None, verbose_name=b'I hereby give my consent to the use of the personal details I have provided (photo, bio, name, email) within the IETF Datatracker'),
field=models.NullBooleanField(default=None, verbose_name='I hereby give my consent to the use of the personal details I have provided (photo, bio, name, email) within the IETF Datatracker'),
),
]

View file

@ -18,6 +18,6 @@ class Migration(migrations.Migration):
migrations.AlterField(
model_name='personevent',
name='type',
field=models.CharField(choices=[(b'apikey_login', b'API key login'), (b'gdpr_notice_email', b'GDPR consent request email sent'), (b'email_address_deactivated', b'Email address deactivated')], max_length=50),
field=models.CharField(choices=[('apikey_login', 'API key login'), ('gdpr_notice_email', 'GDPR consent request email sent'), ('email_address_deactivated', 'Email address deactivated')], max_length=50),
),
]

View file

@ -18,6 +18,6 @@ class Migration(migrations.Migration):
migrations.AlterField(
model_name='personalapikey',
name='endpoint',
field=models.CharField(choices=[(b'/api/iesg/position', b'/api/iesg/position'), (b'/api/v2/person/person', b'/api/v2/person/person'), (b'/api/meeting/session/video/url', b'/api/meeting/session/video/url')], max_length=128),
field=models.CharField(choices=[('/api/iesg/position', '/api/iesg/position'), ('/api/v2/person/person', '/api/v2/person/person'), ('/api/meeting/session/video/url', '/api/meeting/session/video/url')], max_length=128),
),
]

View file

@ -18,11 +18,11 @@ class Migration(migrations.Migration):
migrations.AlterField(
model_name='email',
name='origin',
field=models.CharField(help_text=b"The origin of the address: the user's email address, or 'author: DRAFTNAME' if a draft, or 'role: GROUP/ROLE' if a role.", max_length=150),
field=models.CharField(help_text="The origin of the address: the user's email address, or 'author: DRAFTNAME' if a draft, or 'role: GROUP/ROLE' if a role.", max_length=150),
),
migrations.AlterField(
model_name='historicalemail',
name='origin',
field=models.CharField(help_text=b"The origin of the address: the user's email address, or 'author: DRAFTNAME' if a draft, or 'role: GROUP/ROLE' if a role.", max_length=150),
field=models.CharField(help_text="The origin of the address: the user's email address, or 'author: DRAFTNAME' if a draft, or 'role: GROUP/ROLE' if a role.", max_length=150),
),
]

View file

@ -41,11 +41,11 @@ class Migration(migrations.Migration):
name='ReviewerSettings',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('min_interval', models.IntegerField(blank=True, choices=[(7, b'Once per week'), (14, b'Once per fortnight'), (30, b'Once per month'), (61, b'Once per two months'), (91, b'Once per quarter')], null=True, verbose_name=b'Can review at most')),
('filter_re', models.CharField(blank=True, help_text=b'Draft names matching this regular expression should not be assigned', max_length=255, validators=[ietf.utils.validators.RegexStringValidator()], verbose_name=b'Filter regexp')),
('skip_next', models.IntegerField(default=0, verbose_name=b'Skip next assignments')),
('remind_days_before_deadline', models.IntegerField(blank=True, help_text=b"To get an email reminder in case you forget to do an assigned review, enter the number of days before review deadline you want to receive it. Clear the field if you don't want a reminder.", null=True)),
('expertise', models.TextField(blank=True, default=b'', help_text=b"Describe the reviewer's expertise in this team's area", max_length=2048, verbose_name=b"Reviewer's expertise in this team's area")),
('min_interval', models.IntegerField(blank=True, choices=[(7, 'Once per week'), (14, 'Once per fortnight'), (30, 'Once per month'), (61, 'Once per two months'), (91, 'Once per quarter')], null=True, verbose_name='Can review at most')),
('filter_re', models.CharField(blank=True, help_text='Draft names matching this regular expression should not be assigned', max_length=255, validators=[ietf.utils.validators.RegexStringValidator()], verbose_name='Filter regexp')),
('skip_next', models.IntegerField(default=0, verbose_name='Skip next assignments')),
('remind_days_before_deadline', models.IntegerField(blank=True, help_text="To get an email reminder in case you forget to do an assigned review, enter the number of days before review deadline you want to receive it. Clear the field if you don't want a reminder.", null=True)),
('expertise', models.TextField(blank=True, default='', help_text="Describe the reviewer's expertise in this team's area", max_length=2048, verbose_name="Reviewer's expertise in this team's area")),
('person', ietf.utils.models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='person.Person')),
('team', ietf.utils.models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='group.Group')),
],
@ -57,12 +57,12 @@ class Migration(migrations.Migration):
name='ReviewRequest',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('old_id', models.IntegerField(blank=True, help_text=b'ID in previous review system', null=True)),
('old_id', models.IntegerField(blank=True, help_text='ID in previous review system', null=True)),
('time', models.DateTimeField(default=datetime.datetime.now)),
('deadline', models.DateField()),
('requested_rev', models.CharField(blank=True, help_text=b'Fill in if a specific revision is to be reviewed, e.g. 02', max_length=16, verbose_name=b'requested revision')),
('comment', models.TextField(blank=True, default=b'', help_text=b'Provide any additional information to show to the review team secretary and reviewer', max_length=2048, verbose_name=b"Requester's comments and instructions")),
('reviewed_rev', models.CharField(blank=True, max_length=16, verbose_name=b'reviewed revision')),
('requested_rev', models.CharField(blank=True, help_text='Fill in if a specific revision is to be reviewed, e.g. 02', max_length=16, verbose_name='requested revision')),
('comment', models.TextField(blank=True, default='', help_text='Provide any additional information to show to the review team secretary and reviewer', max_length=2048, verbose_name="Requester's comments and instructions")),
('reviewed_rev', models.CharField(blank=True, max_length=16, verbose_name='reviewed revision')),
('doc', ietf.utils.models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='reviewrequest_set', to='doc.Document')),
('requested_by', ietf.utils.models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='person.Person')),
('result', ietf.utils.models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='name.ReviewResultName')),
@ -77,7 +77,7 @@ class Migration(migrations.Migration):
name='ReviewSecretarySettings',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('remind_days_before_deadline', models.IntegerField(blank=True, help_text=b"To get an email reminder in case a reviewer forgets to do an assigned review, enter the number of days before review deadline you want to receive it. Clear the field if you don't want a reminder.", null=True)),
('remind_days_before_deadline', models.IntegerField(blank=True, help_text="To get an email reminder in case a reviewer forgets to do an assigned review, enter the number of days before review deadline you want to receive it. Clear the field if you don't want a reminder.", null=True)),
('person', ietf.utils.models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='person.Person')),
('team', ietf.utils.models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='group.Group')),
],
@ -89,7 +89,7 @@ class Migration(migrations.Migration):
name='ReviewTeamSettings',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('autosuggest', models.BooleanField(default=True, verbose_name=b'Automatically suggest possible review requests')),
('autosuggest', models.BooleanField(default=True, verbose_name='Automatically suggest possible review requests')),
('group', ietf.utils.models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to='group.Group')),
('review_results', models.ManyToManyField(default=ietf.review.models.get_default_review_results, to='name.ReviewResultName')),
('review_types', models.ManyToManyField(default=ietf.review.models.get_default_review_types, to='name.ReviewTypeName')),
@ -116,9 +116,9 @@ class Migration(migrations.Migration):
name='UnavailablePeriod',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('start_date', models.DateField(default=datetime.date.today, help_text=b"Choose the start date so that you can still do a review if it's assigned just before the start date - this usually means you should mark yourself unavailable for assignment some time before you are actually away.", null=True)),
('end_date', models.DateField(blank=True, help_text=b'Leaving the end date blank means that the period continues indefinitely. You can end it later.', null=True)),
('availability', models.CharField(choices=[(b'canfinish', b'Can do follow-ups'), (b'unavailable', b'Completely unavailable')], max_length=30)),
('start_date', models.DateField(default=datetime.date.today, help_text="Choose the start date so that you can still do a review if it's assigned just before the start date - this usually means you should mark yourself unavailable for assignment some time before you are actually away.", null=True)),
('end_date', models.DateField(blank=True, help_text='Leaving the end date blank means that the period continues indefinitely. You can end it later.', null=True)),
('availability', models.CharField(choices=[('canfinish', 'Can do follow-ups'), ('unavailable', 'Completely unavailable')], max_length=30)),
('person', ietf.utils.models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='person.Person')),
('team', ietf.utils.models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='group.Group')),
],

View file

@ -18,6 +18,6 @@ class Migration(migrations.Migration):
migrations.AddField(
model_name='unavailableperiod',
name='reason',
field=models.TextField(blank=True, default=b'', help_text=b"Provide (for the secretary's benefit) the reason why the review is unavailable", max_length=2048, verbose_name=b'Reason why reviewer is unavailable (Optional)'),
field=models.TextField(blank=True, default='', help_text="Provide (for the secretary's benefit) the reason why the review is unavailable", max_length=2048, verbose_name='Reason why reviewer is unavailable (Optional)'),
),
]

View file

@ -18,6 +18,6 @@ class Migration(migrations.Migration):
migrations.AddField(
model_name='reviewteamsettings',
name='secr_mail_alias',
field=models.CharField(blank=True, help_text=b'Email alias for all of the review team secretaries', max_length=255, verbose_name=b'Email alias for all of the review team secretaries'),
field=models.CharField(blank=True, help_text='Email alias for all of the review team secretaries', max_length=255, verbose_name='Email alias for all of the review team secretaries'),
),
]

View file

@ -27,11 +27,11 @@ class Migration(migrations.Migration):
name='HistoricalReviewerSettings',
fields=[
('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')),
('min_interval', models.IntegerField(blank=True, choices=[(7, b'Once per week'), (14, b'Once per fortnight'), (30, b'Once per month'), (61, b'Once per two months'), (91, b'Once per quarter')], null=True, verbose_name=b'Can review at most')),
('filter_re', models.CharField(blank=True, help_text=b'Draft names matching this regular expression should not be assigned', max_length=255, validators=[ietf.utils.validators.RegexStringValidator()], verbose_name=b'Filter regexp')),
('skip_next', models.IntegerField(default=0, verbose_name=b'Skip next assignments')),
('remind_days_before_deadline', models.IntegerField(blank=True, help_text=b"To get an email reminder in case you forget to do an assigned review, enter the number of days before review deadline you want to receive it. Clear the field if you don't want a reminder.", null=True)),
('expertise', models.TextField(blank=True, default=b'', help_text=b"Describe the reviewer's expertise in this team's area", max_length=2048, verbose_name=b"Reviewer's expertise in this team's area")),
('min_interval', models.IntegerField(blank=True, choices=[(7, 'Once per week'), (14, 'Once per fortnight'), (30, 'Once per month'), (61, 'Once per two months'), (91, 'Once per quarter')], null=True, verbose_name='Can review at most')),
('filter_re', models.CharField(blank=True, help_text='Draft names matching this regular expression should not be assigned', max_length=255, validators=[ietf.utils.validators.RegexStringValidator()], verbose_name='Filter regexp')),
('skip_next', models.IntegerField(default=0, verbose_name='Skip next assignments')),
('remind_days_before_deadline', models.IntegerField(blank=True, help_text="To get an email reminder in case you forget to do an assigned review, enter the number of days before review deadline you want to receive it. Clear the field if you don't want a reminder.", null=True)),
('expertise', models.TextField(blank=True, default='', help_text="Describe the reviewer's expertise in this team's area", max_length=2048, verbose_name="Reviewer's expertise in this team's area")),
('history_id', models.AutoField(primary_key=True, serialize=False)),
('history_change_reason', models.CharField(max_length=100, null=True)),
('history_date', models.DateTimeField()),

View file

@ -26,7 +26,7 @@ class Migration(migrations.Migration):
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('assigned_on', models.DateTimeField(blank=True, null=True)),
('completed_on', models.DateTimeField(blank=True, null=True)),
('reviewed_rev', models.CharField(blank=True, max_length=16, verbose_name=b'reviewed revision')),
('reviewed_rev', models.CharField(blank=True, max_length=16, verbose_name='reviewed revision')),
('mailarch_url', models.URLField(blank=True, null=True)),
('result', ietf.utils.models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='name.ReviewResultName')),
('review', ietf.utils.models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='doc.Document')),

View file

@ -25,7 +25,7 @@ class Migration(migrations.Migration):
name='AffiliationAlias',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('alias', models.CharField(help_text=b'Note that aliases will be matched case-insensitive and both before and after some clean-up.', max_length=255, unique=True)),
('alias', models.CharField(help_text='Note that aliases will be matched case-insensitive and both before and after some clean-up.', max_length=255, unique=True)),
('name', models.CharField(max_length=255)),
],
options={
@ -36,14 +36,14 @@ class Migration(migrations.Migration):
name='AffiliationIgnoredEnding',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('ending', models.CharField(help_text=b"Regexp with ending, e.g. 'Inc\\.?' - remember to escape .!", max_length=255)),
('ending', models.CharField(help_text="Regexp with ending, e.g. 'Inc\\.?' - remember to escape .!", max_length=255)),
],
),
migrations.CreateModel(
name='CountryAlias',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('alias', models.CharField(help_text=b"Note that lower-case aliases are matched case-insensitive while aliases with at least one uppercase letter is matched case-sensitive. So 'United States' is best entered as 'united states' so it both matches 'United States' and 'United states' and 'UNITED STATES', whereas 'US' is best entered as 'US' so it doesn't accidentally match an ordinary word like 'us'.", max_length=255)),
('alias', models.CharField(help_text="Note that lower-case aliases are matched case-insensitive while aliases with at least one uppercase letter is matched case-sensitive. So 'United States' is best entered as 'united states' so it both matches 'United States' and 'United states' and 'UNITED STATES', whereas 'US' is best entered as 'US' so it doesn't accidentally match an ordinary word like 'us'.", max_length=255)),
('country', ietf.utils.models.ForeignKey(max_length=255, on_delete=django.db.models.deletion.CASCADE, to='name.CountryName')),
],
options={

View file

@ -48,7 +48,7 @@ class Migration(migrations.Migration):
('rev', models.CharField(blank=True, max_length=3)),
('pages', models.IntegerField(blank=True, null=True)),
('words', models.IntegerField(blank=True, null=True)),
('authors', jsonfield.fields.JSONField(default=list, help_text=b'List of authors with name, email, affiliation and country.')),
('authors', jsonfield.fields.JSONField(default=list, help_text='List of authors with name, email, affiliation and country.')),
('note', models.TextField(blank=True)),
('replaces', models.CharField(blank=True, max_length=1000)),
('first_two_pages', models.TextField(blank=True)),
@ -56,9 +56,9 @@ class Migration(migrations.Migration):
('file_size', models.IntegerField(blank=True, null=True)),
('document_date', models.DateField(blank=True, null=True)),
('submission_date', models.DateField(default=datetime.date.today)),
('submitter', models.CharField(blank=True, help_text=b'Name and email of submitter, e.g. "John Doe <john@example.org>".', max_length=255)),
('submitter', models.CharField(blank=True, help_text='Name and email of submitter, e.g. "John Doe <john@example.org>".', max_length=255)),
('draft', ietf.utils.models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='doc.Document')),
('formal_languages', models.ManyToManyField(blank=True, help_text=b'Formal languages used in document', to='name.FormalLanguageName')),
('formal_languages', models.ManyToManyField(blank=True, help_text='Formal languages used in document', to='name.FormalLanguageName')),
('group', ietf.utils.models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='group.Group')),
('state', ietf.utils.models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='name.DraftSubmissionStateName')),
],
@ -73,8 +73,8 @@ class Migration(migrations.Migration):
('message', models.TextField(blank=True, null=True)),
('errors', models.IntegerField(blank=True, default=None, null=True)),
('warnings', models.IntegerField(blank=True, default=None, null=True)),
('items', jsonfield.fields.JSONField(blank=True, default=b'{}', null=True)),
('symbol', models.CharField(default=b'', max_length=64)),
('items', jsonfield.fields.JSONField(blank=True, default='{}', null=True)),
('symbol', models.CharField(default='', max_length=64)),
('submission', ietf.utils.models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='checks', to='submit.Submission')),
],
),

View file

@ -21,11 +21,11 @@ class Migration(migrations.Migration):
migrations.AddField(
model_name='submission',
name='draft2',
field=ietf.utils.models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='doc.Document', to_field=b'id'),
field=ietf.utils.models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='doc.Document', to_field='id'),
),
migrations.AlterField(
model_name='submission',
name='draft',
field=ietf.utils.models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='old_submission', to='doc.Document', to_field=b'name'),
field=ietf.utils.models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='old_submission', to='doc.Document', to_field='name'),
),
]

View file

@ -22,7 +22,7 @@ class Migration(migrations.Migration):
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('date', models.DateTimeField()),
('host', models.CharField(max_length=128)),
('tz', models.CharField(default=b'UTC', max_length=32)),
('tz', models.CharField(default='UTC', max_length=32)),
],
),
migrations.CreateModel(