# -*- coding: utf-8 -*-
# Generated by Django 1.11.4 on 2017-08-30 17:15
from __future__ import unicode_literals

from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion


class Migration(migrations.Migration):

    initial = True

    dependencies = [
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
    ]

    operations = [
        migrations.CreateModel(
            name='Conference',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=100)),
                ('slug', models.SlugField()),
                ('start', models.DateField()),
                ('end', models.DateField()),
                ('registration_open', models.DateTimeField()),
                ('registration_closed', models.DateTimeField()),
                ('cfp_open', models.DateTimeField(blank=True, null=True, verbose_name='Call for Proposals Open')),
                ('cfp_closed', models.DateTimeField(blank=True, null=True, verbose_name='Call for Proposals Closed')),
                ('active', models.BooleanField()),
            ],
            options={
                'ordering': ('-start',),
            },
        ),
        migrations.CreateModel(
            name='Invoice',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('to', models.EmailField(max_length=254)),
                ('key', models.CharField(max_length=50, unique=True)),
                ('name', models.CharField(max_length=255, verbose_name='Transaction Name')),
                ('subject', models.CharField(max_length=255)),
                ('text', models.TextField(default='Follow the link below to complete your sponsorship transaction.', help_text='Link will be generated by the invoice system.')),
                ('amount', models.DecimalField(decimal_places=2, max_digits=9)),
                ('sent', models.DateTimeField(blank=True, null=True)),
                ('stripe_token', models.CharField(blank=True, max_length=255, null=True)),
                ('stripe_charge', models.CharField(blank=True, max_length=255, null=True)),
                ('paid_on', models.DateTimeField(blank=True, null=True)),
            ],
            options={
                'ordering': ('-sent',),
            },
        ),
        migrations.CreateModel(
            name='Room',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=100)),
                ('sorder', models.IntegerField(verbose_name='Order')),
                ('conference', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='event.Conference')),
            ],
            options={
                'ordering': ('sorder',),
            },
        ),
        migrations.CreateModel(
            name='Session',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('all_rooms', models.BooleanField(default=False)),
                ('video', models.BooleanField(default=True, verbose_name='Make recording')),
                ('name', models.CharField(max_length=100, verbose_name='Title of Talk')),
                ('description', models.TextField()),
                ('slides', models.URLField(blank=True, null=True, verbose_name='URL To Presentation')),
                ('video_url', models.URLField(blank=True, null=True, verbose_name='URL To Video')),
                ('stype', models.CharField(choices=[('lightning', 'Lightning Talk (5 Minutes)'), ('talk-short', 'Short Talk (20 Minutes)'), ('talk-long', 'Talk (50 Minutes)'), ('tutorial', 'Tutorial (3 Hours)'), ('non-talk', 'Non Talk')], max_length=25, verbose_name='Session Type')),
                ('level', models.CharField(choices=[('beginner', 'Beginner'), ('intermediate', 'Intermediate'), ('advanced', 'Advanced')], max_length=25, verbose_name='Audience Level')),
                ('status', models.CharField(choices=[('submitted', 'Submitted'), ('maybe', 'Maybe'), ('accepted', 'Accepted'), ('declined', 'Declined')], default='submitted', max_length=25)),
                ('start', models.DateTimeField(blank=True, null=True)),
                ('duration', models.IntegerField(blank=True, help_text='Time in Minutes', null=True)),
                ('special_requirements', models.TextField(blank=True, help_text='If you require any special equipment or materials, please let us know here.', null=True)),
                ('conference', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='event.Conference')),
                ('room', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='event.Room')),
                ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'ordering': ('start',),
            },
        ),
        migrations.CreateModel(
            name='Sponsor',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=100)),
                ('url', models.URLField(verbose_name='URL')),
                ('description', models.TextField(blank=True)),
                ('contact_name', models.CharField(blank=True, max_length=100, null=True)),
                ('contact_phone', models.CharField(blank=True, max_length=100, null=True)),
                ('contact_email', models.EmailField(blank=True, max_length=254, null=True)),
                ('active', models.BooleanField()),
                ('logo', models.ImageField(blank=True, null=True, upload_to='sponsor_logos/%Y-%m/')),
            ],
        ),
        migrations.CreateModel(
            name='SponsorshipLevel',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=100)),
                ('cost', models.PositiveIntegerField()),
                ('description', models.TextField(blank=True)),
                ('order', models.IntegerField(default=0)),
                ('conference', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='event.Conference')),
            ],
            options={
                'ordering': ('order',),
            },
        ),
        migrations.AddField(
            model_name='sponsor',
            name='level',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='event.SponsorshipLevel'),
        ),
    ]
