# Generated by Django 2.1.1 on 2018-09-20 03:01

import cv.models.files
import django.core.validators
from django.db import migrations, models
import django.db.models.deletion


class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ('contenttypes', '0002_remove_content_type_name'),
    ]

    operations = [
        migrations.CreateModel(
            name='Article',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('display', models.BooleanField(default=True)),
                ('extra', models.TextField(blank=True)),
                ('title', models.CharField(max_length=200, validators=[django.core.validators.RegexValidator('\\S+')])),
                ('short_title', models.CharField(max_length=80)),
                ('slug', models.SlugField(help_text='Automatically built from short title', unique=True)),
                ('status', models.IntegerField(choices=[(0, 'In preparation'), (1, 'Working paper'), (20, 'Submitted'), (30, 'Revise'), (35, 'Resubmitted'), (40, 'Conditionally accepted'), (50, 'Forthcoming'), (55, 'In press'), (60, 'Published'), (99, 'Resting')])),
                ('pub_date', models.DateField(blank=True, null=True, verbose_name='Publication date')),
                ('submission_date', models.DateField(blank=True, null=True)),
                ('is_published', models.BooleanField(default=False, editable=False)),
                ('is_inrevision', models.BooleanField(default=False, editable=False)),
                ('is_inprep', models.BooleanField(default=False, editable=False)),
                ('abstract', models.TextField(blank=True)),
                ('volume', models.CharField(blank=True, max_length=20)),
                ('issue', models.CharField(blank=True, max_length=20)),
                ('start_page', models.CharField(blank=True, max_length=10)),
                ('end_page', models.CharField(blank=True, max_length=10)),
                ('series', models.CharField(blank=True, max_length=100)),
                ('number', models.CharField(blank=True, max_length=15)),
                ('url', models.URLField(blank=True, verbose_name='URL to published article')),
                ('doi', models.CharField(blank=True, max_length=200, verbose_name='DOI')),
                ('pmcid', models.CharField(blank=True, help_text='PubMed Central reference number (for more info see: https://publicaccess.nih.gov/include-pmcid-citations.htm#Difference)', max_length=40, verbose_name='PMCID')),
                ('pmid', models.CharField(blank=True, help_text='PubMed Central reference number (for more info see: https://publicaccess.nih.gov/include-pmcid-citations.htm#Difference)', max_length=40, verbose_name='PMID')),
                ('abstract_html', models.TextField(blank=True, editable=False)),
            ],
            options={
                'ordering': ['status', '-pub_date', '-submission_date'],
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='ArticleAuthorship',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('print_middle', models.BooleanField(default=True, help_text="Display author's middle initial?")),
                ('display_order', models.IntegerField(help_text='Order that collaborators should be listed')),
                ('student_colleague', models.IntegerField(blank=True, choices=[(0, 'Undergraduate student'), (10, 'Masters student'), (20, 'Doctoral student')], null=True)),
                ('article', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='authorship', to='cv.Article')),
            ],
            options={
                'ordering': ['article', 'display_order'],
            },
        ),
        migrations.CreateModel(
            name='Award',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('display', models.BooleanField(default=True)),
                ('extra', models.TextField(blank=True)),
                ('name', models.CharField(max_length=200)),
                ('organization', models.CharField(max_length=200, verbose_name='Granting institution or organization')),
                ('date', models.DateField()),
                ('description', models.TextField(blank=True)),
            ],
            options={
                'get_latest_by': 'date',
                'ordering': ['-date'],
            },
        ),
        migrations.CreateModel(
            name='Book',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('display', models.BooleanField(default=True)),
                ('extra', models.TextField(blank=True)),
                ('title', models.CharField(max_length=200, validators=[django.core.validators.RegexValidator('\\S+')])),
                ('short_title', models.CharField(max_length=80)),
                ('slug', models.SlugField(help_text='Automatically built from short title', unique=True)),
                ('status', models.IntegerField(choices=[(0, 'In preparation'), (1, 'Working paper'), (20, 'Submitted'), (30, 'Revise'), (35, 'Resubmitted'), (40, 'Conditionally accepted'), (50, 'Forthcoming'), (55, 'In press'), (60, 'Published'), (99, 'Resting')])),
                ('pub_date', models.DateField(blank=True, null=True, verbose_name='Publication date')),
                ('submission_date', models.DateField(blank=True, null=True)),
                ('is_published', models.BooleanField(default=False, editable=False)),
                ('is_inrevision', models.BooleanField(default=False, editable=False)),
                ('is_inprep', models.BooleanField(default=False, editable=False)),
                ('abstract', models.TextField(blank=True)),
                ('publisher', models.CharField(blank=True, max_length=100)),
                ('place', models.CharField(blank=True, max_length=100)),
                ('volume', models.IntegerField(blank=True, null=True)),
                ('series', models.CharField(blank=True, max_length=100)),
                ('series_number', models.CharField(blank=True, max_length=10)),
                ('num_pages', models.IntegerField(blank=True, null=True, verbose_name='Number of pages')),
                ('isbn', models.CharField(blank=True, max_length=20, validators=[django.core.validators.RegexValidator('^\\d+[0-9\\-]+[Xx0-9]$')], verbose_name='ISBN')),
                ('url', models.URLField(blank=True, verbose_name='URL')),
                ('abstract_html', models.TextField(blank=True, editable=False)),
            ],
            options={
                'ordering': ['status', '-pub_date', '-submission_date'],
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='BookAuthorship',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('print_middle', models.BooleanField(default=True, help_text="Display author's middle initial?")),
                ('display_order', models.IntegerField(help_text='Order that collaborators should be listed')),
                ('student_colleague', models.IntegerField(blank=True, choices=[(0, 'Undergraduate student'), (10, 'Masters student'), (20, 'Doctoral student')], null=True)),
                ('book', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='authorship', to='cv.Book')),
            ],
            options={
                'ordering': ['book', 'display_order'],
            },
        ),
        migrations.CreateModel(
            name='BookEdition',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('display', models.BooleanField(default=True)),
                ('extra', models.TextField(blank=True)),
                ('edition', models.CharField(max_length=50)),
                ('pub_date', models.DateField(blank=True, null=True)),
                ('submission_date', models.DateField(blank=True, null=True)),
                ('publisher', models.CharField(blank=True, max_length=100)),
                ('place', models.CharField(blank=True, max_length=100, null=True)),
                ('num_pages', models.IntegerField(blank=True, null=True, verbose_name='Number of pages')),
                ('isbn', models.CharField(blank=True, max_length=20, validators=[django.core.validators.RegexValidator('^\\d+[0-9\\-]+[Xx0-9]$')], verbose_name='ISBN')),
                ('book', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='editions', to='cv.Book')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Chapter',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('display', models.BooleanField(default=True)),
                ('extra', models.TextField(blank=True)),
                ('title', models.CharField(max_length=200, validators=[django.core.validators.RegexValidator('\\S+')])),
                ('short_title', models.CharField(max_length=80)),
                ('slug', models.SlugField(help_text='Automatically built from short title', unique=True)),
                ('abstract', models.TextField(blank=True)),
                ('status', models.IntegerField(choices=[(0, 'In preparation'), (1, 'Working paper'), (20, 'Submitted'), (30, 'Revise'), (35, 'Resubmitted'), (40, 'Conditionally accepted'), (50, 'Forthcoming'), (55, 'In press'), (60, 'Published'), (99, 'Resting')])),
                ('pub_date', models.DateField(blank=True, null=True, verbose_name='Publication date')),
                ('submission_date', models.DateField(blank=True, null=True)),
                ('is_published', models.BooleanField(default=False, editable=False)),
                ('is_inrevision', models.BooleanField(default=False, editable=False)),
                ('is_inprep', models.BooleanField(default=False, editable=False)),
                ('book_title', models.CharField(max_length=200)),
                ('volume', models.CharField(blank=True, max_length=50, null=True)),
                ('volumes', models.CharField(blank=True, max_length=50, null=True, verbose_name='No. of volumes')),
                ('edition', models.CharField(blank=True, max_length=50, null=True)),
                ('publisher', models.CharField(blank=True, max_length=100)),
                ('place', models.CharField(blank=True, max_length=100)),
                ('series', models.CharField(blank=True, max_length=100, null=True)),
                ('series_number', models.CharField(blank=True, max_length=10, null=True)),
                ('start_page', models.CharField(blank=True, max_length=10)),
                ('end_page', models.CharField(blank=True, max_length=10)),
                ('isbn', models.CharField(blank=True, max_length=20, validators=[django.core.validators.RegexValidator('^\\d+[0-9\\-]+[Xx0-9]$')], verbose_name='ISBN')),
                ('url', models.URLField(blank=True, verbose_name='URL')),
                ('abstract_html', models.TextField(blank=True, editable=False)),
            ],
            options={
                'ordering': ['status', '-pub_date', '-submission_date'],
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='ChapterAuthorship',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('print_middle', models.BooleanField(default=True, help_text="Display author's middle initial?")),
                ('display_order', models.IntegerField(help_text='Order that collaborators should be listed')),
                ('student_colleague', models.IntegerField(blank=True, choices=[(0, 'Undergraduate student'), (10, 'Masters student'), (20, 'Doctoral student')], null=True)),
                ('chapter', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='authorship', to='cv.Chapter')),
            ],
            options={
                'ordering': ['display_order'],
            },
        ),
        migrations.CreateModel(
            name='ChapterEditorship',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('print_middle', models.BooleanField(default=True, help_text="Display author's middle initial?")),
                ('display_order', models.IntegerField(help_text='Order that collaborators should be listed')),
                ('chapter', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='editorship', to='cv.Chapter')),
            ],
            options={
                'ordering': ['display_order'],
            },
        ),
        migrations.CreateModel(
            name='Collaborator',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('first_name', models.CharField(max_length=100, verbose_name='First (given) name')),
                ('last_name', models.CharField(max_length=100, verbose_name='Last (family) name')),
                ('email', models.EmailField(max_length=254, unique=True)),
                ('middle_initial', models.CharField(blank=True, max_length=100)),
                ('suffix', models.CharField(blank=True, max_length=100)),
                ('institution', models.CharField(blank=True, max_length=150)),
                ('website', models.URLField(blank=True)),
                ('alternate_email', models.EmailField(blank=True, max_length=254)),
            ],
            options={
                'ordering': ['last_name'],
            },
        ),
        migrations.CreateModel(
            name='Course',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('display', models.BooleanField(default=True)),
                ('extra', models.TextField(blank=True)),
                ('title', models.CharField(max_length=150, verbose_name='title')),
                ('slug', models.SlugField(blank=True, verbose_name='slug')),
                ('short_description', models.TextField(blank=True, verbose_name='short description')),
                ('full_description', models.TextField(blank=True, verbose_name='full description')),
                ('student_level', models.IntegerField(choices=[(0, 'Undergraduate student'), (10, 'Masters student'), (20, 'Doctoral student')], verbose_name='student level')),
                ('short_description_html', models.TextField(editable=False)),
                ('description_html', models.TextField(editable=False)),
                ('last_offered', models.DateField(null=True, verbose_name='last offered')),
            ],
            options={
                'ordering': ['-last_offered', 'title'],
            },
        ),
        migrations.CreateModel(
            name='CourseOffering',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('term', models.IntegerField(choices=[(10, 'Winter'), (20, 'Spring'), (30, 'Summer'), (40, 'Fall')], verbose_name='term')),
                ('start_date', models.DateField(blank=True, verbose_name='start date')),
                ('end_date', models.DateField(blank=True, verbose_name='end date')),
                ('institution', models.CharField(blank=True, max_length=100, verbose_name='institution')),
                ('course_number', models.CharField(blank=True, max_length=50, verbose_name='course number')),
                ('is_current_offering', models.BooleanField(default=False, verbose_name='is current offering?')),
                ('course', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='offerings', to='cv.Course', verbose_name='course')),
            ],
            options={
                'ordering': ['-start_date'],
            },
        ),
        migrations.CreateModel(
            name='CVFile',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('file', models.FileField(upload_to=cv.models.files.cv_file_path, verbose_name='file')),
                ('name', models.CharField(max_length=80)),
                ('type', models.IntegerField(choices=[(10, 'Manuscript'), (20, 'Preprint'), (30, 'Draft'), (40, 'Slides'), (50, 'Code'), (60, 'Table'), (70, 'Image'), (80, 'Supplement'), (100, 'Other')])),
                ('is_primary', models.BooleanField(default=False)),
                ('copyright', models.CharField(blank=True, max_length=200)),
                ('description', models.TextField(blank=True)),
                ('object_id', models.PositiveIntegerField()),
                ('description_html', models.TextField(blank=True, editable=False)),
                ('content_type', models.ForeignKey(limit_choices_to=models.Q(app_label='cv'), on_delete=django.db.models.deletion.PROTECT, related_name='cv_file_content_type', to='contenttypes.ContentType')),
            ],
            options={
                'verbose_name': 'CV file',
                'verbose_name_plural': 'CV files',
                'ordering': ['-is_primary'],
            },
        ),
        migrations.CreateModel(
            name='Dataset',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('display', models.BooleanField(default=True)),
                ('extra', models.TextField(blank=True)),
                ('title', models.CharField(max_length=200, validators=[django.core.validators.RegexValidator('\\S+')])),
                ('short_title', models.CharField(max_length=80)),
                ('slug', models.SlugField(help_text='Automatically built from short title', unique=True)),
                ('pub_date', models.DateField(blank=True, null=True, verbose_name='Publication date')),
                ('version_number', models.CharField(blank=True, max_length=80, verbose_name='Version number')),
                ('format', models.CharField(blank=True, help_text="Form of data (e.g., 'Datafile and Codebook' or 'Datafile')", max_length=150, verbose_name='Format')),
                ('producer', models.CharField(blank=True, max_length=180, verbose_name='Producer')),
                ('producer_place', models.CharField(blank=True, max_length=100, null=True, verbose_name='Producer location')),
                ('distributor', models.CharField(blank=True, max_length=180, verbose_name='Distributor')),
                ('distributor_place', models.CharField(blank=True, max_length=100, null=True, verbose_name='Distributor location')),
                ('retrieval_url', models.URLField(blank=True, help_text='Used for URL linked to dataset', verbose_name='Retrieval URL')),
                ('available_from_url', models.URLField(blank=True, help_text='Used to link to a download page', verbose_name='Available from URL')),
                ('doi', models.CharField(blank=True, max_length=100, null=True, verbose_name='DOI')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='DatasetAuthorship',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('print_middle', models.BooleanField(default=True, help_text="Display author's middle initial?")),
                ('display_order', models.IntegerField(help_text='Order that collaborators should be listed')),
                ('student_colleague', models.IntegerField(blank=True, choices=[(0, 'Undergraduate student'), (10, 'Masters student'), (20, 'Doctoral student')], null=True)),
                ('collaborator', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='cv.Collaborator')),
                ('dataset', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='authorship', to='cv.Dataset')),
            ],
            options={
                'ordering': ['dataset', 'display_order'],
            },
        ),
        migrations.CreateModel(
            name='Degree',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('display', models.BooleanField(default=True)),
                ('extra', models.TextField(blank=True)),
                ('degree', models.CharField(max_length=10)),
                ('major', models.CharField(blank=True, max_length=100, null=True)),
                ('date_earned', models.DateField(verbose_name='Date Earned')),
                ('institution', models.CharField(max_length=100)),
                ('city', models.CharField(max_length=100)),
                ('state', models.CharField(max_length=100, verbose_name='State or Province')),
                ('country', models.CharField(max_length=100)),
                ('honors', models.CharField(blank=True, max_length=100, null=True)),
            ],
            options={
                'get_latest_by': 'date_earned',
                'ordering': ('-date_earned',),
            },
        ),
        migrations.CreateModel(
            name='Discipline',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=40, unique=True)),
                ('slug', models.SlugField(unique=True)),
            ],
            options={
                'ordering': ['name'],
            },
        ),
        migrations.CreateModel(
            name='Grant',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('display', models.BooleanField(default=True)),
                ('extra', models.TextField(blank=True)),
                ('title', models.CharField(max_length=200, validators=[django.core.validators.RegexValidator('\\S+')])),
                ('short_title', models.CharField(max_length=80)),
                ('slug', models.SlugField(help_text='Automatically built from short title', unique=True)),
                ('source', models.IntegerField(choices=[(10, 'Internal'), (40, 'External')], help_text='Internal/external source of funding')),
                ('agency', models.CharField(blank=True, max_length=200)),
                ('agency_acronym', models.CharField(blank=True, max_length=20)),
                ('division', models.CharField(blank=True, max_length=200)),
                ('division_acronym', models.CharField(blank=True, max_length=20)),
                ('grant_number', models.CharField(blank=True, max_length=50)),
                ('amount', models.IntegerField()),
                ('start_date', models.DateField(blank=True, null=True)),
                ('end_date', models.DateField(blank=True, null=True)),
                ('is_current', models.BooleanField(default=True)),
                ('abstract', models.TextField(blank=True, null=True)),
                ('abstract_html', models.TextField(blank=True, editable=False, null=True)),
            ],
            options={
                'ordering': ['-is_current', '-start_date', '-end_date'],
            },
        ),
        migrations.CreateModel(
            name='GrantCollaboration',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('print_middle', models.BooleanField(default=True, help_text="Display author's middle initial?")),
                ('display_order', models.IntegerField(help_text='Order that collaborators should be listed')),
                ('is_pi', models.BooleanField(default=False)),
                ('role', models.CharField(blank=True, max_length=50)),
                ('collaborator', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='cv.Collaborator')),
                ('grant', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='collaboration', to='cv.Grant')),
            ],
            options={
                'ordering': ['display_order'],
            },
        ),
        migrations.CreateModel(
            name='Journal',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('title', models.CharField(max_length=200)),
                ('abbreviated_title', models.CharField(blank=True, help_text='Abbreviated journal title; use style you wish to display in views', max_length=100)),
                ('issn', models.CharField(help_text='Enter ISSN in format: XXXX-XXXX', max_length=9, validators=[django.core.validators.RegexValidator('\\d{4}\\-\\d{3}[0-9X]')], verbose_name='ISSN')),
                ('website', models.URLField(blank=True)),
                ('other_disciplines', models.ManyToManyField(blank=True, related_name='otherdisciplines', to='cv.Discipline')),
                ('primary_discipline', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='primarydiscipline', to='cv.Discipline')),
            ],
            options={
                'ordering': ['title'],
            },
        ),
        migrations.CreateModel(
            name='JournalService',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('display', models.BooleanField(default=True)),
                ('extra', models.TextField(blank=True)),
                ('is_reviewer', models.BooleanField(default=True)),
                ('journal', models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='cv.Journal')),
            ],
            options={
                'ordering': ['journal'],
            },
        ),
        migrations.CreateModel(
            name='MediaMention',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('display', models.BooleanField(default=True)),
                ('extra', models.TextField(blank=True)),
                ('outlet', models.CharField(help_text='Publication or station', max_length=200)),
                ('section', models.CharField(blank=True, help_text='Section of publication or program', max_length=200, null=True)),
                ('title', models.CharField(blank=True, max_length=200, null=True)),
                ('date', models.DateField()),
                ('url', models.URLField(blank=True, null=True)),
                ('author', models.CharField(blank=True, help_text='E.g., author of written piece or interviewer on visual medium', max_length=200, null=True)),
                ('description', models.TextField(blank=True)),
                ('snapshot', models.FileField(blank=True, null=True, upload_to='')),
            ],
            options={
                'ordering': ['-date'],
            },
        ),
        migrations.CreateModel(
            name='OtherWriting',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('display', models.BooleanField(default=True)),
                ('extra', models.TextField(blank=True)),
                ('title', models.CharField(max_length=200, validators=[django.core.validators.RegexValidator('\\S+')])),
                ('short_title', models.CharField(max_length=80)),
                ('slug', models.SlugField(help_text='Automatically built from short title', unique=True)),
                ('type', models.CharField(blank=True, help_text="Genre of writing (e.g., 'book review','op ed', 'blog post') that can be used for grouping contributions by type.", max_length=100)),
                ('abstract', models.TextField(blank=True)),
                ('venue', models.CharField(max_length=200)),
                ('date', models.DateField()),
                ('pages', models.CharField(blank=True, max_length=200, null=True, verbose_name='Pages or section')),
                ('url', models.URLField(blank=True)),
                ('place', models.CharField(blank=True, max_length=100)),
                ('volume', models.CharField(blank=True, max_length=20)),
                ('issue', models.CharField(blank=True, max_length=20)),
                ('abstract_html', models.TextField(blank=True, editable=False)),
                ('other_disciplines', models.ManyToManyField(blank=True, related_name='cv_otherwriting_otherdisciplines', to='cv.Discipline')),
                ('primary_discipline', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='cv_otherwriting_primarydiscipline', to='cv.Discipline')),
            ],
            options={
                'ordering': ['-date'],
            },
        ),
        migrations.CreateModel(
            name='Position',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('display', models.BooleanField(default=True)),
                ('extra', models.TextField(blank=True)),
                ('title', models.CharField(max_length=100)),
                ('start_date', models.DateField()),
                ('end_date', models.DateField(help_text='If current, set date to future (by default positions will be ordered by end date')),
                ('project', models.CharField(blank=True, max_length=100)),
                ('department', models.CharField(blank=True, max_length=100)),
                ('institution', models.CharField(max_length=100)),
                ('current_position', models.BooleanField(help_text='Are you currently in this position?', verbose_name='Current position?')),
                ('primary_position', models.BooleanField(help_text='Should this position be displayed as the main position (e.g., on heading of CV)?', verbose_name='Primary position?')),
            ],
            options={
                'get_latest_by': 'end_date',
                'ordering': ('-end_date',),
            },
        ),
        migrations.CreateModel(
            name='Presentation',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('presentation_date', models.DateField()),
                ('type', models.IntegerField(choices=[(10, 'Invited'), (20, 'Conference'), (30, 'Workshop'), (40, 'Keynote')])),
                ('event', models.CharField(max_length=150)),
                ('event_acronym', models.CharField(blank=True, max_length=10)),
                ('city', models.CharField(blank=True, max_length=100, null=True)),
                ('state', models.CharField(blank=True, max_length=50, null=True)),
                ('country', models.CharField(blank=True, max_length=100, null=True)),
            ],
            options={
                'ordering': ['-presentation_date'],
            },
        ),
        migrations.CreateModel(
            name='Report',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('display', models.BooleanField(default=True)),
                ('extra', models.TextField(blank=True)),
                ('title', models.CharField(max_length=200, validators=[django.core.validators.RegexValidator('\\S+')])),
                ('short_title', models.CharField(max_length=80)),
                ('slug', models.SlugField(help_text='Automatically built from short title', unique=True)),
                ('abstract', models.TextField(blank=True)),
                ('status', models.IntegerField(choices=[(0, 'In preparation'), (1, 'Working paper'), (20, 'Submitted'), (30, 'Revise'), (35, 'Resubmitted'), (40, 'Conditionally accepted'), (50, 'Forthcoming'), (55, 'In press'), (60, 'Published'), (99, 'Resting')])),
                ('pub_date', models.DateField(blank=True, null=True, verbose_name='Publication date')),
                ('submission_date', models.DateField(blank=True, null=True)),
                ('is_published', models.BooleanField(default=False, editable=False)),
                ('is_inrevision', models.BooleanField(default=False, editable=False)),
                ('is_inprep', models.BooleanField(default=False, editable=False)),
                ('report_number', models.CharField(blank=True, max_length=100, null=True)),
                ('report_type', models.CharField(blank=True, max_length=200, null=True)),
                ('series_title', models.CharField(blank=True, max_length=200, null=True)),
                ('place', models.CharField(blank=True, max_length=100, null=True)),
                ('institution', models.CharField(blank=True, max_length=100, null=True)),
                ('pages', models.CharField(blank=True, max_length=20, null=True)),
                ('url', models.URLField(blank=True)),
                ('doi', models.CharField(blank=True, max_length=200, verbose_name='DOI')),
                ('abstract_html', models.TextField(blank=True, editable=False)),
            ],
            options={
                'ordering': ['status', '-pub_date', '-submission_date'],
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='ReportAuthorship',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('print_middle', models.BooleanField(default=True, help_text="Display author's middle initial?")),
                ('display_order', models.IntegerField(help_text='Order that collaborators should be listed')),
                ('student_colleague', models.IntegerField(blank=True, choices=[(0, 'Undergraduate student'), (10, 'Masters student'), (20, 'Doctoral student')], null=True)),
                ('collaborator', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='cv.Collaborator')),
                ('report', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='authorship', to='cv.Report')),
            ],
            options={
                'ordering': ['display_order'],
            },
        ),
        migrations.CreateModel(
            name='Service',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('display', models.BooleanField(default=True)),
                ('extra', models.TextField(blank=True)),
                ('role', models.CharField(max_length=200)),
                ('group', models.CharField(blank=True, help_text='Group or committee on which service was performed', max_length=200, null=True)),
                ('organization', models.CharField(max_length=200, verbose_name='Organization or department')),
                ('type', models.IntegerField(choices=[(10, 'Department'), (20, 'School or College'), (30, 'University-wide'), (40, 'Discipline'), (50, 'Community'), (90, 'Other')])),
                ('start_date', models.DateField(blank=True, help_text='Leave blank of one-time service', null=True)),
                ('end_date', models.DateField(blank=True, help_text='Leave blank if service is ongoing', null=True)),
                ('description', models.TextField(blank=True)),
            ],
            options={
                'ordering': ['-end_date', '-start_date'],
            },
        ),
        migrations.CreateModel(
            name='Student',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('display', models.BooleanField(default=True)),
                ('extra', models.TextField(blank=True)),
                ('first_name', models.CharField(max_length=200, null=True)),
                ('last_name', models.CharField(max_length=200, null=True)),
                ('middle_name', models.CharField(blank=True, max_length=200, null=True)),
                ('student_level', models.IntegerField(blank=True, choices=[(0, 'Undergraduate student'), (10, 'Masters student'), (20, 'Doctoral student')], null=True)),
                ('role', models.CharField(max_length=200, null=True)),
                ('thesis_title', models.CharField(blank=True, max_length=200, null=True)),
                ('is_current_student', models.BooleanField(default=True)),
                ('graduation_date', models.DateField(blank=True, null=True)),
                ('first_position', models.CharField(blank=True, max_length=200, null=True)),
                ('current_position', models.CharField(blank=True, max_length=200, null=True)),
            ],
            options={
                'ordering': ['student_level', 'graduation_date'],
            },
        ),
        migrations.CreateModel(
            name='Talk',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('display', models.BooleanField(default=True)),
                ('extra', models.TextField(blank=True)),
                ('title', models.CharField(max_length=200, validators=[django.core.validators.RegexValidator('\\S+')])),
                ('short_title', models.CharField(max_length=80)),
                ('slug', models.SlugField(help_text='Automatically built from short title', unique=True)),
                ('abstract', models.TextField(blank=True)),
                ('abstract_html', models.TextField(blank=True, editable=False)),
                ('latest_presentation_date', models.DateField(blank=True, editable=False, null=True)),
                ('created', models.DateField(auto_now_add=True)),
                ('modified', models.DateField(auto_now=True)),
                ('collaborator', models.ManyToManyField(blank=True, to='cv.Collaborator')),
                ('grants', models.ManyToManyField(blank=True, to='cv.Grant')),
                ('other_disciplines', models.ManyToManyField(blank=True, related_name='cv_talk_otherdisciplines', to='cv.Discipline')),
                ('primary_discipline', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='cv_talk_primarydiscipline', to='cv.Discipline')),
            ],
            options={
                'ordering': ['-latest_presentation_date'],
            },
        ),
        migrations.AddField(
            model_name='report',
            name='authors',
            field=models.ManyToManyField(related_name='reports', through='cv.ReportAuthorship', to='cv.Collaborator'),
        ),
        migrations.AddField(
            model_name='report',
            name='grants',
            field=models.ManyToManyField(blank=True, to='cv.Grant'),
        ),
        migrations.AddField(
            model_name='report',
            name='other_disciplines',
            field=models.ManyToManyField(blank=True, related_name='cv_report_otherdisciplines', to='cv.Discipline'),
        ),
        migrations.AddField(
            model_name='report',
            name='primary_discipline',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='cv_report_primarydiscipline', to='cv.Discipline'),
        ),
        migrations.AddField(
            model_name='presentation',
            name='talk',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='presentations', to='cv.Talk'),
        ),
        migrations.AddField(
            model_name='grant',
            name='collaborators',
            field=models.ManyToManyField(related_name='grants', through='cv.GrantCollaboration', to='cv.Collaborator'),
        ),
        migrations.AddField(
            model_name='grant',
            name='other_disciplines',
            field=models.ManyToManyField(blank=True, related_name='cv_grant_otherdisciplines', to='cv.Discipline'),
        ),
        migrations.AddField(
            model_name='grant',
            name='primary_discipline',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='cv_grant_primarydiscipline', to='cv.Discipline'),
        ),
        migrations.AddField(
            model_name='dataset',
            name='authors',
            field=models.ManyToManyField(related_name='datasets', through='cv.DatasetAuthorship', to='cv.Collaborator'),
        ),
        migrations.AddField(
            model_name='dataset',
            name='other_disciplines',
            field=models.ManyToManyField(blank=True, related_name='cv_dataset_otherdisciplines', to='cv.Discipline'),
        ),
        migrations.AddField(
            model_name='dataset',
            name='primary_discipline',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='cv_dataset_primarydiscipline', to='cv.Discipline'),
        ),
        migrations.AddField(
            model_name='chaptereditorship',
            name='collaborator',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='cv.Collaborator'),
        ),
        migrations.AddField(
            model_name='chapterauthorship',
            name='collaborator',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='cv.Collaborator'),
        ),
        migrations.AddField(
            model_name='chapter',
            name='authors',
            field=models.ManyToManyField(related_name='chapters', through='cv.ChapterAuthorship', to='cv.Collaborator'),
        ),
        migrations.AddField(
            model_name='chapter',
            name='editors',
            field=models.ManyToManyField(blank=True, related_name='editors', through='cv.ChapterEditorship', to='cv.Collaborator'),
        ),
        migrations.AddField(
            model_name='chapter',
            name='grants',
            field=models.ManyToManyField(blank=True, to='cv.Grant'),
        ),
        migrations.AddField(
            model_name='chapter',
            name='other_disciplines',
            field=models.ManyToManyField(blank=True, related_name='cv_chapter_otherdisciplines', to='cv.Discipline'),
        ),
        migrations.AddField(
            model_name='chapter',
            name='primary_discipline',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='cv_chapter_primarydiscipline', to='cv.Discipline'),
        ),
        migrations.AddField(
            model_name='bookauthorship',
            name='collaborator',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='cv.Collaborator'),
        ),
        migrations.AddField(
            model_name='book',
            name='authors',
            field=models.ManyToManyField(related_name='books', through='cv.BookAuthorship', to='cv.Collaborator'),
        ),
        migrations.AddField(
            model_name='book',
            name='grants',
            field=models.ManyToManyField(blank=True, to='cv.Grant'),
        ),
        migrations.AddField(
            model_name='book',
            name='other_disciplines',
            field=models.ManyToManyField(blank=True, related_name='cv_book_otherdisciplines', to='cv.Discipline'),
        ),
        migrations.AddField(
            model_name='book',
            name='primary_discipline',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='cv_book_primarydiscipline', to='cv.Discipline'),
        ),
        migrations.AddField(
            model_name='articleauthorship',
            name='collaborator',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='cv.Collaborator'),
        ),
        migrations.AddField(
            model_name='article',
            name='authors',
            field=models.ManyToManyField(related_name='articles', through='cv.ArticleAuthorship', to='cv.Collaborator'),
        ),
        migrations.AddField(
            model_name='article',
            name='grants',
            field=models.ManyToManyField(blank=True, to='cv.Grant'),
        ),
        migrations.AddField(
            model_name='article',
            name='journal',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='cv.Journal'),
        ),
        migrations.AddField(
            model_name='article',
            name='other_disciplines',
            field=models.ManyToManyField(blank=True, related_name='cv_article_otherdisciplines', to='cv.Discipline'),
        ),
        migrations.AddField(
            model_name='article',
            name='primary_discipline',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='cv_article_primarydiscipline', to='cv.Discipline'),
        ),
        migrations.AddField(
            model_name='article',
            name='talks',
            field=models.ManyToManyField(blank=True, to='cv.Talk'),
        ),
        migrations.AlterUniqueTogether(
            name='reportauthorship',
            unique_together={('report', 'display_order')},
        ),
        migrations.AlterUniqueTogether(
            name='datasetauthorship',
            unique_together={('dataset', 'display_order')},
        ),
        migrations.AlterUniqueTogether(
            name='chaptereditorship',
            unique_together={('chapter', 'display_order')},
        ),
        migrations.AlterUniqueTogether(
            name='chapterauthorship',
            unique_together={('chapter', 'display_order')},
        ),
        migrations.AlterUniqueTogether(
            name='bookauthorship',
            unique_together={('book', 'display_order')},
        ),
        migrations.AlterUniqueTogether(
            name='articleauthorship',
            unique_together={('article', 'display_order')},
        ),
    ]
