# Generated by Django 3.1.13 on 2021-10-20 11:45

from django.db import migrations, models
import django.db.models.deletion
import django.utils.timezone


class Migration(migrations.Migration):
    dependencies = [
        ("people", "0008_contact"),
        ("groups", "0007_add_fields_to_membership"),
        ("events", "0011_auto_20211014_1735"),
    ]

    operations = [
        migrations.AlterField(
            model_name="event",
            name="payment_parameters",
            field=models.JSONField(
                blank=True,
                help_text="\n<p>Doit être un objet JSON qui peut contenir les clés suivantes\xa0:</p>\n<ul>\n<li><strong>pricing</strong>\xa0: un prix fixe en centimes</li>\n<li><strong>free_pricing</strong>\xa0: l'id d'un champ numérique du formulaire associé à l'événement qui sera utilisé \ncomme prix pour l'événement</li>\n<li><strong>mappings</strong>\xa0: Une liste de mappings entre réponses au formulaire et prix correspondant. Chaque \nmapping est un objet JSON avec un champ <em>fields</em> qui liste les champs à utiliser, et le champ <em>mapping</em>\nlui-même.</li>\n<li><strong>payment_modes</strong>\xa0: indique la liste des modes de paiement admissibles pour cet événement.</li>\n<li><strong>admin_payment_modes</strong>\xa0: Idem, mais à utiliser pour les modes de paiement côté admin.</li>\n</ul>\n",
                null=True,
                verbose_name="Paramètres de paiement",
            ),
        ),
        migrations.CreateModel(
            name="Invitation",
            fields=[
                (
                    "id",
                    models.AutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                (
                    "created",
                    models.DateTimeField(
                        default=django.utils.timezone.now,
                        editable=False,
                        verbose_name="date de création",
                    ),
                ),
                (
                    "modified",
                    models.DateTimeField(
                        auto_now=True, verbose_name="dernière modification"
                    ),
                ),
                (
                    "status",
                    models.CharField(
                        choices=[
                            ("pending", "En attente"),
                            ("accepted", "Acceptée"),
                            ("refused", "Refusée"),
                        ],
                        default="pending",
                        max_length=20,
                        verbose_name="status",
                    ),
                ),
                (
                    "event",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="invitations",
                        to="events.event",
                        verbose_name="Evenement de l'invitation",
                    ),
                ),
                (
                    "group",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="invitations",
                        to="groups.supportgroup",
                        verbose_name="Groupe invité à l'événement",
                    ),
                ),
                (
                    "person_recipient",
                    models.ForeignKey(
                        blank=True,
                        null=True,
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="invitation_response",
                        to="people.person",
                        verbose_name="Personne qui répond à l'invitation",
                    ),
                ),
                (
                    "person_sender",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        to="people.person",
                        verbose_name="Personne qui émet l'invitation",
                    ),
                ),
            ],
        ),
        migrations.AddConstraint(
            model_name="invitation",
            constraint=models.UniqueConstraint(
                fields=("event", "group"), name="unique"
            ),
        ),
    ]
