# -*- coding: utf-8 -*-
# Generated by Django 1.9.7 on 2016-09-17 03:35
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
import django.utils.timezone
import symposion.proposals.models
class Migration(migrations.Migration):
initial = True
dependencies = [
('symposion_speakers', '0001_initial'),
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('symposion_conference', '0001_initial'),
]
operations = [
migrations.CreateModel(
name='AdditionalSpeaker',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('status', models.IntegerField(choices=[(1, 'Pending'), (2, 'Accepted'), (3, 'Declined')], default=1, verbose_name='Status')),
],
options={
'verbose_name': 'Addtional speaker',
'verbose_name_plural': 'Additional speakers',
},
),
migrations.CreateModel(
name='ProposalBase',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('title', models.CharField(max_length=100, verbose_name='Title')),
('abstract', models.TextField(help_text="This will appear in the conference programme. Up to about 500 words. Edit using Markdown.", verbose_name='Abstract')),
('abstract_html', models.TextField(blank=True)),
('private_abstract', models.TextField(help_text="This will only be shown to organisers and reviewers. You should provide any details about your proposal that you don't want to be public here. Edit using Markdown.", verbose_name='Private Abstract')),
('private_abstract_html', models.TextField(blank=True)),
('technical_requirements', models.TextField(blank=True, help_text="Speakers will be provided with: Internet access, power, projector, audio. If you require anything in addition, please list your technical requirements here. Such as: a static IP address, A/V equipment or will be demonstrating security-related techniques on the conference network. Edit using Markdown.", verbose_name='Special Requirements')),
('technical_requirements_html', models.TextField(blank=True)),
('project', models.CharField(blank=True, help_text='The name of the project you will be talking about.', max_length=100)),
('project_url', models.URLField(blank=True, help_text='If your project has a webpage, specify the URL here so the committee can find out more about your proposal.', verbose_name='Project URL')),
('video_url', models.URLField(blank=True, help_text="You may optionally provide us with a link to a video of you speaking at another event, or of a short 'elevator pitch' of your proposed talk.", verbose_name='Video')),
('submitted', models.DateTimeField(default=django.utils.timezone.now, editable=False, verbose_name='Submitted')),
('cancelled', models.BooleanField(default=False, verbose_name='Cancelled')),
('additional_speakers', models.ManyToManyField(blank=True, through='symposion_proposals.AdditionalSpeaker', to='symposion_speakers.Speaker', verbose_name='Addtional speakers')),
],
),
migrations.CreateModel(
name='ProposalKind',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=100, verbose_name='Name')),
('slug', models.SlugField(verbose_name='Slug')),
('section', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='proposal_kinds', to='symposion_conference.Section', verbose_name='Section')),
],
),
migrations.CreateModel(
name='ProposalSection',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('start', models.DateTimeField(blank=True, null=True, verbose_name='Start')),
('end', models.DateTimeField(blank=True, null=True, verbose_name='End')),
('closed', models.NullBooleanField(verbose_name='Closed')),
('published', models.NullBooleanField(verbose_name='Published')),
('section', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to='symposion_conference.Section', verbose_name='Section')),
],
),
migrations.CreateModel(
name='SupportingDocument',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('created_at', models.DateTimeField(default=django.utils.timezone.now, verbose_name='Created at')),
('file', models.FileField(upload_to=symposion.proposals.models.uuid_filename, verbose_name='File')),
('description', models.CharField(max_length=140, verbose_name='Description')),
('proposal', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='supporting_documents', to='symposion_proposals.ProposalBase', verbose_name='Proposal')),
('uploaded_by', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='Uploaded by')),
],
),
migrations.AddField(
model_name='proposalbase',
name='kind',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='symposion_proposals.ProposalKind', verbose_name='Kind'),
),
migrations.AddField(
model_name='proposalbase',
name='speaker',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='proposals', to='symposion_speakers.Speaker', verbose_name='Speaker'),
),
migrations.AddField(
model_name='additionalspeaker',
name='proposalbase',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='symposion_proposals.ProposalBase', verbose_name='Proposalbase'),
),
migrations.AddField(
model_name='additionalspeaker',
name='speaker',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='symposion_speakers.Speaker', verbose_name='Speaker'),
),
migrations.AlterUniqueTogether(
name='additionalspeaker',
unique_together=set([('speaker', 'proposalbase')]),
),
]