# -*- coding: utf-8 -*-
# Generated by Django 1.9.12 on 2017-03-25 11:14
from __future__ import unicode_literals

from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
import sapl.sessao.models
import sapl.utils


class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ('parlamentares', '0001_initial'),
        ('materia', '0001_initial'),
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
    ]

    operations = [
        migrations.CreateModel(
            name='Bancada',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('nome', models.CharField(max_length=80, verbose_name='Nome da Bancada')),
                ('data_criacao', models.DateField(blank=True, null=True, verbose_name='Data Criação')),
                ('data_extincao', models.DateField(blank=True, null=True, verbose_name='Data Extinção')),
                ('descricao', models.TextField(blank=True, verbose_name='Descrição')),
                ('legislatura', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='parlamentares.Legislatura', verbose_name='Legislatura')),
                ('partido', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='parlamentares.Partido', verbose_name='Partido')),
            ],
            options={
                'ordering': ('-legislatura__numero',),
                'verbose_name': 'Bancada',
                'verbose_name_plural': 'Bancadas',
            },
        ),
        migrations.CreateModel(
            name='Bloco',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('nome', models.CharField(max_length=80, verbose_name='Nome do Bloco')),
                ('data_criacao', models.DateField(blank=True, null=True, verbose_name='Data Criação')),
                ('data_extincao', models.DateField(blank=True, null=True, verbose_name='Data Dissolução')),
                ('descricao', models.TextField(blank=True, verbose_name='Descrição')),
                ('partidos', models.ManyToManyField(blank=True, to='parlamentares.Partido', verbose_name='Bancadas')),
            ],
            options={
                'verbose_name': 'Bloco',
                'verbose_name_plural': 'Blocos',
            },
        ),
        migrations.CreateModel(
            name='CargoBancada',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('nome_cargo', models.CharField(max_length=80, verbose_name='Cargo de Bancada')),
                ('cargo_unico', models.BooleanField(choices=[(True, 'Sim'), (False, 'Não')], default=False, verbose_name='Cargo Único ?')),
            ],
            options={
                'verbose_name': 'Cargo de Bancada',
                'verbose_name_plural': 'Cargos de Bancada',
            },
        ),
        migrations.CreateModel(
            name='ExpedienteMateria',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('data_ordem', models.DateField(verbose_name='Data da Sessão')),
                ('observacao', models.TextField(blank=True, verbose_name='Ementa')),
                ('numero_ordem', models.PositiveIntegerField(verbose_name='Nº Ordem')),
                ('resultado', models.TextField(blank=True, verbose_name='Resultado')),
                ('tipo_votacao', models.PositiveIntegerField(choices=[(1, 'Simbólica'), (2, 'Nominal'), (3, 'Secreta')], verbose_name='Tipo de votação')),
                ('votacao_aberta', models.NullBooleanField(choices=[(True, 'Sim'), (False, 'Não')], verbose_name='Votação iniciada?')),
                ('materia', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='materia.MateriaLegislativa', verbose_name='Matéria')),
            ],
            options={
                'ordering': ['numero_ordem'],
                'verbose_name': 'Matéria do Expediente',
                'verbose_name_plural': 'Matérias do Expediente',
            },
        ),
        migrations.CreateModel(
            name='ExpedienteSessao',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('conteudo', models.TextField(blank=True, verbose_name='Conteúdo do expediente')),
            ],
            options={
                'verbose_name': 'Expediente de Sessão Plenaria',
                'verbose_name_plural': 'Expedientes de Sessão Plenaria',
            },
        ),
        migrations.CreateModel(
            name='IntegranteMesa',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('cargo', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='parlamentares.CargoMesa')),
                ('parlamentar', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='parlamentares.Parlamentar')),
            ],
            options={
                'verbose_name': 'Participação em Mesa de Sessão Plenaria',
                'verbose_name_plural': 'Participações em Mesas de Sessão Plenaria',
            },
        ),
        migrations.CreateModel(
            name='Orador',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('numero_ordem', models.PositiveIntegerField(verbose_name='Ordem de pronunciamento')),
                ('url_discurso', models.URLField(blank=True, max_length=150, verbose_name='URL Vídeo')),
                ('observacao', models.CharField(blank=True, max_length=150, verbose_name='Observação')),
                ('parlamentar', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='parlamentares.Parlamentar', verbose_name='Parlamentar')),
            ],
            options={
                'verbose_name': 'Orador das Explicações Pessoais',
                'verbose_name_plural': 'Oradores das Explicações Pessoais',
            },
        ),
        migrations.CreateModel(
            name='OradorExpediente',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('numero_ordem', models.PositiveIntegerField(verbose_name='Ordem de pronunciamento')),
                ('url_discurso', models.URLField(blank=True, max_length=150, verbose_name='URL Vídeo')),
                ('observacao', models.CharField(blank=True, max_length=150, verbose_name='Observação')),
                ('parlamentar', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='parlamentares.Parlamentar', verbose_name='Parlamentar')),
            ],
            options={
                'verbose_name': 'Orador do Expediente',
                'verbose_name_plural': 'Oradores do Expediente',
            },
        ),
        migrations.CreateModel(
            name='OrdemDia',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('data_ordem', models.DateField(verbose_name='Data da Sessão')),
                ('observacao', models.TextField(blank=True, verbose_name='Ementa')),
                ('numero_ordem', models.PositiveIntegerField(verbose_name='Nº Ordem')),
                ('resultado', models.TextField(blank=True, verbose_name='Resultado')),
                ('tipo_votacao', models.PositiveIntegerField(choices=[(1, 'Simbólica'), (2, 'Nominal'), (3, 'Secreta')], verbose_name='Tipo de votação')),
                ('votacao_aberta', models.NullBooleanField(choices=[(True, 'Sim'), (False, 'Não')], verbose_name='Votação iniciada?')),
                ('materia', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='materia.MateriaLegislativa', verbose_name='Matéria')),
            ],
            options={
                'ordering': ['numero_ordem'],
                'verbose_name': 'Matéria da Ordem do Dia',
                'verbose_name_plural': 'Matérias da Ordem do Dia',
            },
        ),
        migrations.CreateModel(
            name='PresencaOrdemDia',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('parlamentar', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='parlamentares.Parlamentar')),
            ],
            options={
                'ordering': ['parlamentar__nome_parlamentar'],
                'verbose_name': 'Presença da Ordem do Dia',
                'verbose_name_plural': 'Presenças da Ordem do Dia',
            },
        ),
        migrations.CreateModel(
            name='RegistroVotacao',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('numero_votos_sim', models.PositiveIntegerField(verbose_name='Sim')),
                ('numero_votos_nao', models.PositiveIntegerField(verbose_name='Não')),
                ('numero_abstencoes', models.PositiveIntegerField(verbose_name='Abstenções')),
                ('observacao', models.TextField(blank=True, verbose_name='Observações')),
                ('expediente', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='sessao.ExpedienteMateria')),
                ('materia', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='materia.MateriaLegislativa')),
                ('ordem', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='sessao.OrdemDia')),
            ],
            options={
                'verbose_name': 'Votação',
                'verbose_name_plural': 'Votações',
            },
        ),
        migrations.CreateModel(
            name='SessaoPlenaria',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('cod_andamento_sessao', models.PositiveIntegerField(blank=True, null=True)),
                ('data_inicio', models.DateField(verbose_name='Abertura')),
                ('hora_inicio', models.CharField(max_length=5, verbose_name='Horário (hh:mm)')),
                ('hora_fim', models.CharField(blank=True, max_length=5, verbose_name='Horário (hh:mm)')),
                ('numero', models.PositiveIntegerField(verbose_name='Número')),
                ('data_fim', models.DateField(blank=True, null=True, verbose_name='Encerramento')),
                ('url_audio', models.URLField(blank=True, max_length=150, verbose_name='URL Arquivo Áudio (Formatos MP3 / AAC)')),
                ('url_video', models.URLField(blank=True, max_length=150, verbose_name='URL Arquivo Vídeo (Formatos MP4 / FLV / WebM)')),
                ('upload_pauta', models.FileField(blank=True, null=True, upload_to=sapl.sessao.models.pauta_upload_path, validators=[sapl.utils.restringe_tipos_de_arquivo_txt], verbose_name='Pauta da Sessão')),
                ('upload_ata', models.FileField(blank=True, null=True, upload_to=sapl.sessao.models.ata_upload_path, validators=[sapl.utils.restringe_tipos_de_arquivo_txt], verbose_name='Ata da Sessão')),
                ('upload_anexo', models.FileField(blank=True, null=True, upload_to=sapl.sessao.models.anexo_upload_path, verbose_name='Anexo da Sessão')),
                ('iniciada', models.NullBooleanField(choices=[(True, 'Sim'), (False, 'Não')], verbose_name='Sessão iniciada?')),
                ('finalizada', models.NullBooleanField(choices=[(True, 'Sim'), (False, 'Não')], verbose_name='Sessão finalizada?')),
                ('legislatura', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='parlamentares.Legislatura', verbose_name='Legislatura')),
                ('sessao_legislativa', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='parlamentares.SessaoLegislativa', verbose_name='Sessão Legislativa')),
            ],
            options={
                'verbose_name': 'Sessão Plenária',
                'verbose_name_plural': 'Sessões Plenárias',
            },
        ),
        migrations.CreateModel(
            name='SessaoPlenariaPresenca',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('data_sessao', models.DateField(blank=True, null=True)),
                ('parlamentar', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='parlamentares.Parlamentar')),
                ('sessao_plenaria', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='sessao.SessaoPlenaria')),
            ],
            options={
                'ordering': ['parlamentar__nome_parlamentar'],
                'verbose_name': 'Presença em Sessão Plenária',
                'verbose_name_plural': 'Presenças em Sessões Plenárias',
            },
        ),
        migrations.CreateModel(
            name='TipoExpediente',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('nome', models.CharField(max_length=100, verbose_name='Tipo')),
            ],
            options={
                'verbose_name': 'Tipo de Expediente',
                'verbose_name_plural': 'Tipos de Expediente',
            },
        ),
        migrations.CreateModel(
            name='TipoResultadoVotacao',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('nome', models.CharField(max_length=100, verbose_name='Tipo')),
            ],
            options={
                'verbose_name': 'Tipo de Resultado de Votação',
                'verbose_name_plural': 'Tipos de Resultado de Votação',
            },
        ),
        migrations.CreateModel(
            name='TipoSessaoPlenaria',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('nome', models.CharField(max_length=30, verbose_name='Tipo')),
                ('quorum_minimo', models.PositiveIntegerField(verbose_name='Quórum mínimo')),
            ],
            options={
                'verbose_name': 'Tipo de Sessão Plenária',
                'verbose_name_plural': 'Tipos de Sessão Plenária',
            },
        ),
        migrations.CreateModel(
            name='VotoNominal',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('voto', models.CharField(max_length=10, verbose_name='Voto')),
                ('ip', models.CharField(max_length=30, verbose_name='IP')),
                ('data_hora', models.DateTimeField(auto_now_add=True, verbose_name='Data/Hora')),
                ('materia', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='materia.MateriaLegislativa')),
                ('parlamentar', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='parlamentares.Parlamentar')),
                ('sessao', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='sessao.SessaoPlenaria')),
                ('user', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'verbose_name': 'Registro do Voto do Parlamentar',
                'verbose_name_plural': 'Registros dos Votos dos Parlamentares',
            },
        ),
        migrations.CreateModel(
            name='VotoParlamentar',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('voto', models.CharField(max_length=10)),
                ('parlamentar', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='parlamentares.Parlamentar')),
                ('votacao', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='sessao.RegistroVotacao')),
            ],
            options={
                'verbose_name': 'Registro de Votação de Parlamentar',
                'verbose_name_plural': 'Registros de Votações de Parlamentares',
            },
        ),
        migrations.AddField(
            model_name='sessaoplenaria',
            name='tipo',
            field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='sessao.TipoSessaoPlenaria', verbose_name='Tipo'),
        ),
        migrations.AddField(
            model_name='registrovotacao',
            name='tipo_resultado_votacao',
            field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='sessao.TipoResultadoVotacao', verbose_name='Resultado da Votação'),
        ),
        migrations.AddField(
            model_name='presencaordemdia',
            name='sessao_plenaria',
            field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='sessao.SessaoPlenaria'),
        ),
        migrations.AddField(
            model_name='ordemdia',
            name='sessao_plenaria',
            field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='sessao.SessaoPlenaria'),
        ),
        migrations.AddField(
            model_name='oradorexpediente',
            name='sessao_plenaria',
            field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='sessao.SessaoPlenaria'),
        ),
        migrations.AddField(
            model_name='orador',
            name='sessao_plenaria',
            field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='sessao.SessaoPlenaria'),
        ),
        migrations.AddField(
            model_name='integrantemesa',
            name='sessao_plenaria',
            field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='sessao.SessaoPlenaria'),
        ),
        migrations.AddField(
            model_name='expedientesessao',
            name='sessao_plenaria',
            field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='sessao.SessaoPlenaria'),
        ),
        migrations.AddField(
            model_name='expedientesessao',
            name='tipo',
            field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='sessao.TipoExpediente'),
        ),
        migrations.AddField(
            model_name='expedientemateria',
            name='sessao_plenaria',
            field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='sessao.SessaoPlenaria'),
        ),
    ]
