# Generated by Django 3.1.11 on 2021-05-31 09:53

import agir.elus.models
import django.contrib.postgres.fields.ranges
from django.db import migrations, models
import django.db.models.deletion


class Migration(migrations.Migration):
    dependencies = [
        ("data_france", "0022_auto_20210528_0804"),
        ("people", "0004_display_name_and_image"),
        ("elus", "0021_auto_20210518_1826"),
    ]

    operations = [
        migrations.CreateModel(
            name="MandatConsulaire",
            fields=[
                (
                    "id",
                    models.AutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                (
                    "dates",
                    django.contrib.postgres.fields.ranges.DateRangeField(
                        help_text="La date de fin correspond à la date théorique de fin du mandat si elle est dans le futur et à la date effective sinon.",
                        verbose_name="Début et fin du mandat",
                    ),
                ),
                (
                    "statut",
                    models.CharField(
                        choices=[
                            ("INC", "Personne à contacter"),
                            ("DEM", "Mandat ajouté par la personne via son profil"),
                            ("IMP", "Importé par une opération automatique"),
                            ("FXP", "Faux-positif ou fausse déclaration"),
                            ("INS", "Mandat vérifié et confirmé"),
                        ],
                        default="INC",
                        help_text="Indique la qualité de l'information sur cet⋅te élu⋅e, indépendamment des questions politiques et de son appartenance au réseau des élus. Une valeur « Vérifié » signifie que : 1) il a été vérifié que le mandat existe réellement et 2) le compte éventuellement associé appartient bien à la personne élue.",
                        max_length=3,
                        verbose_name="Statut",
                    ),
                ),
                (
                    "mandat",
                    models.CharField(
                        choices=[
                            ("C", "Conseiller⋅ère consulaire"),
                            ("M", "Conseiller⋅ère consulaire et membre de l'AFE"),
                            ("D", "Délégué⋅e consulaire"),
                        ],
                        default="C",
                        max_length=1,
                        verbose_name="Mandat",
                    ),
                ),
                (
                    "conseil",
                    models.ForeignKey(
                        blank=True,
                        null=True,
                        on_delete=django.db.models.deletion.CASCADE,
                        to="data_france.circonscriptionconsulaire",
                        verbose_name="Circonscription consulaire",
                    ),
                ),
                (
                    "email_officiel",
                    models.ForeignKey(
                        help_text="L'adresse avec laquelle contacter l'élu pour des questions officielles",
                        null=True,
                        on_delete=django.db.models.deletion.SET_NULL,
                        to="people.personemail",
                        verbose_name="Adresse email officielle",
                    ),
                ),
                (
                    "person",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="mandats_consulaires",
                        related_query_name="mandat_consulaire",
                        to="people.person",
                        verbose_name="Élu",
                    ),
                ),
            ],
            options={
                "verbose_name_plural": "mandats consulaires",
            },
            bases=(
                agir.elus.models.mandats.UniqueWithinDates,
                agir.elus.models.mandats.MandatHistoryMixin,
                models.Model,
            ),
        ),
    ]
