# Generated by Django 3.2.18 on 2023-02-27 14:54

import agir.lib.models
import django.core.validators
from django.db import migrations, models
import django.db.models.deletion
import dynamic_filenames


class Migration(migrations.Migration):
    dependencies = [
        ("event_requests", "0003_auto_20230215_1624"),
    ]

    operations = [
        migrations.AlterModelOptions(
            name="eventasset",
            options={
                "ordering": ("-published", "-created"),
                "verbose_name": "Visuel de l'événement",
                "verbose_name_plural": "Visuels des événements",
            },
        ),
        migrations.AlterModelOptions(
            name="eventrequest",
            options={
                "ordering": ("status", "-created"),
                "verbose_name": "Demande d'événement",
                "verbose_name_plural": "Demandes d'évenement",
            },
        ),
        migrations.RemoveConstraint(
            model_name="eventasset",
            name="unique_event_asset_for_event_and_template",
        ),
        migrations.RemoveField(
            model_name="eventthemetype",
            name="event_speaker_request_email_from",
        ),
        migrations.AddField(
            model_name="eventasset",
            name="published",
            field=models.BooleanField(
                default=False,
                help_text="Le visuel a déjà été mis à disposition ou pas des organisateur·ices de l'événement",
                verbose_name="Publié",
            ),
        ),
        migrations.AddField(
            model_name="eventassettemplate",
            name="target_format",
            field=models.CharField(
                choices=[
                    ("pdf", "pdf"),
                    ("png", "png"),
                    ("ps", "ps"),
                    ("svg", "svg"),
                    ("xml", "xml"),
                ],
                default="pdf",
                help_text="Le format dans lequel le visuel est destiné à être sauvegardé",
                max_length=10,
                verbose_name="Format de destination",
            ),
        ),
        migrations.AddField(
            model_name="eventspeaker",
            name="description",
            field=models.CharField(
                blank=True, default="", max_length=255, verbose_name="description"
            ),
        ),
        migrations.AddField(
            model_name="eventtheme",
            name="event_creation_notification_email_body",
            field=agir.lib.models.DescriptionField(
                blank=True,
                default="",
                help_text="Ce texte sera utilisé comme corps de l'e-mail de notification de validation lors de la création d'un événement. Le lien vers la page de l'événement et les coordonnéesde l'organisateur·ice et de l'intervenant·e seront automatiquement ajoutés à la fin du message.",
                verbose_name="texte de l'e-mail de notification de validation",
            ),
        ),
        migrations.AddField(
            model_name="eventtheme",
            name="event_creation_notification_email_subject",
            field=models.CharField(
                blank=True,
                default="",
                help_text="Ce texte sera utilisé comme objet de l'e-mail de notification de validation lors de la création d'un événement. Si vide, l'e-mail ne sera pas envoyé.",
                max_length=255,
                verbose_name="objet de l'e-mail de notification de validation",
            ),
        ),
        migrations.AddField(
            model_name="eventtheme",
            name="organizer_event_creation_email_body",
            field=agir.lib.models.DescriptionField(
                blank=True,
                default="",
                help_text="Ce texte sera utilisé comme corps de l'e-mail envoyé à l'organisateur·ice lors de la création d'un événement. Le lien vers la page de l'événement et les coordonnéesde l'intervenant·e seront automatiquement ajoutés à la fin du message.",
                verbose_name="texte de l'e-mail à l'organisateur·ice",
            ),
        ),
        migrations.AddField(
            model_name="eventtheme",
            name="organizer_event_creation_email_subject",
            field=models.CharField(
                blank=True,
                default="",
                help_text="Ce texte sera utilisé comme objet de l'e-mail envoyé à l'organisateur·ice lors de la création d'un événement. Si vide, l'e-mail ne sera pas envoyé.",
                max_length=255,
                verbose_name="objet de l'e-mail à l'organisateur·ice",
            ),
        ),
        migrations.AddField(
            model_name="eventtheme",
            name="speaker_event_creation_email_body",
            field=agir.lib.models.DescriptionField(
                blank=True,
                default="",
                help_text="Ce texte sera utilisé comme corps de l'e-mail envoyé à l'intervenant·e sélectionné·e lors de la création d'un événement. Le lien vers la page de l'événement et les coordonnéesde l'organisateur·ice seront automatiquement ajoutés à la fin du message.",
                verbose_name="texte de l'e-mail à l'intervenant·e",
            ),
        ),
        migrations.AddField(
            model_name="eventtheme",
            name="speaker_event_creation_email_subject",
            field=models.CharField(
                blank=True,
                default="",
                help_text="Ce texte sera utilisé comme objet de l'e-mail envoyé à l'intervenant·e sélectionné·e lors de la création d'un événement. Si vide, l'e-mail ne sera pas envoyé.",
                max_length=255,
                verbose_name="objet de l'e-mail à l'intervenant·e",
            ),
        ),
        migrations.AddField(
            model_name="eventthemetype",
            name="email_from",
            field=models.EmailField(
                default="support@actionpopulaire.fr",
                help_text="Cette adresse sera utilisé comme expéditeur de tous les e-mails transactionnels pour ce type de thème d'événement",
                max_length=255,
                verbose_name="expéditeur des e-mails",
            ),
        ),
        migrations.AddField(
            model_name="eventthemetype",
            name="email_to",
            field=models.EmailField(
                default="support@actionpopulaire.fr",
                help_text="Cette adresse sera utilisé comme destinataire de tous les e-mails transactionnels pour ce type de thème d'événement",
                max_length=255,
                verbose_name="destinataire des e-mails",
            ),
        ),
        migrations.AlterField(
            model_name="eventasset",
            name="file",
            field=models.FileField(
                max_length=255,
                upload_to=dynamic_filenames.FilePattern(
                    filename_pattern="{app_label}/{model_name}/{instance.id}/{name}_{uuid:.8base32}{ext}"
                ),
                validators=[
                    django.core.validators.FileExtensionValidator(
                        ("pdf", "png", "ps", "svg", "xml")
                    )
                ],
                verbose_name="Fichier",
            ),
        ),
        migrations.AlterField(
            model_name="eventasset",
            name="name",
            field=models.CharField(max_length=200, verbose_name="Nom"),
        ),
        migrations.AlterField(
            model_name="eventasset",
            name="template",
            field=models.ForeignKey(
                blank=True,
                null=True,
                on_delete=django.db.models.deletion.SET_NULL,
                related_name="+",
                to="event_requests.eventassettemplate",
                verbose_name="template",
            ),
        ),
        migrations.AlterField(
            model_name="eventassettemplate",
            name="file",
            field=models.FileField(
                help_text="Le fichier doit être au format SVG et contenir des variables correspondantes aux données d'un événement (au format: {{ nom_de_la_variable }})",
                max_length=255,
                upload_to=dynamic_filenames.FilePattern(
                    filename_pattern="{app_label}/{model_name}/{instance.id}/{name}_{uuid:.8base32}{ext}"
                ),
                validators=[django.core.validators.FileExtensionValidator(["svg"])],
                verbose_name="Fichier",
            ),
        ),
        migrations.AlterField(
            model_name="eventspeakerrequest",
            name="accepted",
            field=models.BooleanField(
                default=False,
                help_text="L'intervenant·e a été validé·e pour cette demande et cette date",
                verbose_name="confirmé·e",
            ),
        ),
        migrations.AlterField(
            model_name="eventspeakerrequest",
            name="available",
            field=models.BooleanField(
                default=None,
                help_text="L'intervenant·e est disponible pour cette date",
                null=True,
                verbose_name="disponible",
            ),
        ),
        migrations.AddIndex(
            model_name="eventasset",
            index=models.Index(
                fields=["-published", "-created"], name="ordering_index"
            ),
        ),
        migrations.AddIndex(
            model_name="eventrequest",
            index=models.Index(
                fields=["status", "-created"], name="event_reque_status_bf986b_idx"
            ),
        ),
        migrations.AddConstraint(
            model_name="eventasset",
            constraint=models.UniqueConstraint(
                condition=models.Q(("template__isnull", False)),
                fields=("event", "template"),
                name="unique_event_asset_for_event_and_template",
            ),
        ),
    ]
