# Generated by Django 5.2.9 on 2025-12-28 11:13

import django.db.models.deletion
import djtools.db.models.fields.foreignkey
import djtools.db.models.fields.string
from django.db import migrations, models


class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ("comum", "0103_alter_preferencia_tema"),
        ("edu", "0284_falta_contabilizar"),
    ]

    operations = [
        migrations.CreateModel(
            name="Configuracao",
            fields=[
                (
                    "id",
                    models.AutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                ("ano", models.IntegerField(verbose_name="Ano")),
                ("data_inicio", models.DateField(verbose_name="Data de Início")),
                ("data_fim", models.DateField(verbose_name="Data de Fim")),
                (
                    "data_envio",
                    models.DateField(
                        blank=True, null=True, verbose_name="Data de Envio"
                    ),
                ),
                (
                    "data_inicio_correcao",
                    models.DateField(
                        null=True, verbose_name="Data de Início da Correção"
                    ),
                ),
                (
                    "data_fim_correcao",
                    models.DateField(null=True, verbose_name="Data de Fim da Correção"),
                ),
            ],
            options={
                "verbose_name": "Configuração",
                "verbose_name_plural": "Configurações",
            },
        ),
        migrations.CreateModel(
            name="Cota",
            fields=[
                (
                    "id",
                    models.AutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                (
                    "nome",
                    djtools.db.models.fields.string.CharFieldPlus(
                        max_length=255, verbose_name="Nome"
                    ),
                ),
                ("codigo", models.IntegerField(verbose_name="Código")),
                (
                    "formas_ingresso",
                    djtools.db.models.fields.foreignkey.ManyToManyFieldPlus(
                        to="edu.formaingresso", verbose_name="Formas de Ingresso SUAP"
                    ),
                ),
            ],
            options={
                "verbose_name": "Cota",
                "verbose_name_plural": "Cotas",
            },
        ),
        migrations.CreateModel(
            name="Curso",
            fields=[
                (
                    "id",
                    models.AutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                (
                    "nome",
                    djtools.db.models.fields.string.CharFieldPlus(
                        max_length=255, verbose_name="Nome"
                    ),
                ),
                ("codigo", models.IntegerField(verbose_name="Código")),
                (
                    "codigo_catalogo",
                    models.IntegerField(verbose_name="Código do Catálogo"),
                ),
                (
                    "codigo_unidade",
                    models.IntegerField(verbose_name="Código da Unidade"),
                ),
                (
                    "curso_campus",
                    djtools.db.models.fields.foreignkey.ForeignKeyPlus(
                        null=True,
                        on_delete=django.db.models.deletion.CASCADE,
                        to="edu.cursocampus",
                        verbose_name="Curso Campus",
                    ),
                ),
            ],
            options={
                "verbose_name": "Curso",
                "verbose_name_plural": "Cursos",
            },
        ),
        migrations.CreateModel(
            name="Ciclo",
            fields=[
                (
                    "id",
                    models.AutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                (
                    "nome",
                    djtools.db.models.fields.string.CharFieldPlus(
                        max_length=255, verbose_name="Nome"
                    ),
                ),
                ("codigo", models.IntegerField(verbose_name="Código")),
                (
                    "minicurso",
                    models.BooleanField(default=False, verbose_name="Minicurso"),
                ),
                ("matriculas", models.JSONField(null=True, verbose_name="Matrículas")),
                (
                    "turmas",
                    djtools.db.models.fields.foreignkey.ManyToManyFieldPlus(
                        to="edu.turma", verbose_name="Turmas Regulares"
                    ),
                ),
                (
                    "turmas_minicurso",
                    djtools.db.models.fields.foreignkey.ManyToManyFieldPlus(
                        to="edu.turmaminicurso", verbose_name="Turmas de Minicurso"
                    ),
                ),
                (
                    "curso",
                    djtools.db.models.fields.foreignkey.ForeignKeyPlus(
                        on_delete=django.db.models.deletion.CASCADE,
                        to="pnp_ccv.curso",
                        verbose_name="Curso",
                    ),
                ),
            ],
            options={
                "verbose_name": "Ciclo",
                "verbose_name_plural": "Ciclos",
            },
        ),
        migrations.CreateModel(
            name="Programa",
            fields=[
                (
                    "id",
                    models.AutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                (
                    "nome",
                    djtools.db.models.fields.string.CharFieldPlus(
                        max_length=255, verbose_name="Nome"
                    ),
                ),
                ("codigo", models.IntegerField(verbose_name="Código")),
                (
                    "convenios",
                    djtools.db.models.fields.foreignkey.ManyToManyFieldPlus(
                        to="edu.convenio", verbose_name="Convênios SUAP"
                    ),
                ),
            ],
            options={
                "verbose_name": "Programa",
                "verbose_name_plural": "Programas",
            },
        ),
        migrations.CreateModel(
            name="Raca",
            fields=[
                (
                    "id",
                    models.AutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                (
                    "nome",
                    djtools.db.models.fields.string.CharFieldPlus(
                        max_length=255, verbose_name="Nome"
                    ),
                ),
                ("codigo", models.IntegerField(verbose_name="Código")),
                (
                    "racas",
                    djtools.db.models.fields.foreignkey.ManyToManyFieldPlus(
                        to="comum.raca", verbose_name="Raças SUAP"
                    ),
                ),
            ],
            options={
                "verbose_name": "Raça",
                "verbose_name_plural": "Raças",
            },
        ),
        migrations.CreateModel(
            name="Turno",
            fields=[
                (
                    "id",
                    models.AutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                (
                    "nome",
                    djtools.db.models.fields.string.CharFieldPlus(
                        max_length=255, verbose_name="Nome"
                    ),
                ),
                ("codigo", models.IntegerField(verbose_name="Código")),
                (
                    "turnos",
                    djtools.db.models.fields.foreignkey.ManyToManyFieldPlus(
                        to="edu.turno", verbose_name="Turnos SUAP"
                    ),
                ),
            ],
            options={
                "verbose_name": "Turno",
                "verbose_name_plural": "Turnos",
            },
        ),
        migrations.CreateModel(
            name="Vaga",
            fields=[
                (
                    "id",
                    models.AutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                ("regular", models.IntegerField(default=0, verbose_name="Regular")),
                (
                    "extraordinaria",
                    models.IntegerField(default=0, verbose_name="Extraordinária"),
                ),
                (
                    "ciclo",
                    djtools.db.models.fields.foreignkey.ForeignKeyPlus(
                        on_delete=django.db.models.deletion.CASCADE,
                        to="pnp_ccv.ciclo",
                        verbose_name="Ciclo",
                    ),
                ),
                (
                    "cota",
                    djtools.db.models.fields.foreignkey.ForeignKeyPlus(
                        on_delete=django.db.models.deletion.CASCADE,
                        to="pnp_ccv.cota",
                        verbose_name="Cota",
                    ),
                ),
            ],
            options={
                "verbose_name": "Vaga",
                "verbose_name_plural": "Vagas",
            },
        ),
    ]
