# Generated by Django 3.1.14 on 2022-02-21 15:02

import agir.lib.model_fields
from django.db import migrations, models
import django.db.models.deletion
import django.utils.timezone
import dynamic_filenames


class Migration(migrations.Migration):
    dependencies = [
        ("gestion", "0015_aligner_type_depense_comptabilite"),
    ]

    operations = [
        migrations.RemoveField(
            model_name="ordrevirement",
            name="reglements",
        ),
        migrations.AddField(
            model_name="compte",
            name="actif",
            field=models.BooleanField(default=True, verbose_name="Compte actif"),
        ),
        migrations.AddField(
            model_name="compte",
            name="beneficiaire_bic",
            field=agir.lib.model_fields.BICField(
                blank=True,
                help_text="Le BIC utilisé comme créditeur pour un virement vers ce compte.",
                verbose_name="BIC émetteur",
            ),
        ),
        migrations.AddField(
            model_name="compte",
            name="beneficiaire_designation",
            field=models.CharField(
                blank=True,
                help_text="La désignation bancaire utilisée comme créditeur pour un virement vers ce compte (pour une refacturation par exemple).",
                max_length=140,
                verbose_name="Désignation bancaire de créditeur",
            ),
        ),
        migrations.AddField(
            model_name="compte",
            name="beneficiaire_iban",
            field=agir.lib.model_fields.IBANField(
                allowed_countries=None,
                blank=True,
                help_text="L'IBAN utilisé comme créditeur pour un virement vers ce compte.",
                max_length=34,
                verbose_name="IBAN émetteur",
            ),
        ),
        migrations.AddField(
            model_name="compte",
            name="emetteur_bic",
            field=agir.lib.model_fields.BICField(
                blank=True,
                help_text="Le BIC utilisé pour émettre des virements à partir de ce compte.",
                verbose_name="BIC émetteur",
            ),
        ),
        migrations.AddField(
            model_name="compte",
            name="emetteur_designation",
            field=models.CharField(
                blank=True,
                help_text="La désignation bancaire utilisée pour émettre des virements à partir de ce compte.",
                max_length=140,
                verbose_name="Désignation bancaire d'émetteur",
            ),
        ),
        migrations.AddField(
            model_name="compte",
            name="emetteur_iban",
            field=agir.lib.model_fields.IBANField(
                allowed_countries=None,
                blank=True,
                help_text="L'IBAN utilisé pour émettre des virements à partir de ce compte.",
                max_length=34,
                verbose_name="IBAN émetteur",
            ),
        ),
        migrations.AddField(
            model_name="reglement",
            name="bic_founisseur",
            field=agir.lib.model_fields.BICField(
                blank=True, verbose_name="BIC du founisseur"
            ),
        ),
        migrations.AddField(
            model_name="reglement",
            name="endtoend_id",
            field=models.CharField(
                default=None,
                help_text="Identifiant unique utilisé pour suivre une transaction de banque à banque.",
                max_length=35,
                null=True,
                unique=True,
                verbose_name="ID unique",
            ),
        ),
        migrations.AddField(
            model_name="reglement",
            name="ordre_virement",
            field=models.ForeignKey(
                null=True,
                on_delete=django.db.models.deletion.PROTECT,
                related_name="reglements",
                related_query_name="reglement",
                to="gestion.ordrevirement",
                verbose_name="Ordre de virement",
            ),
        ),
        migrations.AlterField(
            model_name="depense",
            name="type",
            field=models.CharField(
                choices=[
                    ("REU", "Frais divers liées aux réunions publiques"),
                    (
                        "REU-IMP",
                        "Impression et envoi de cartons d'invitation pour une réunion publique",
                    ),
                    (
                        "REU-LOC",
                        "Utilisation d'un local pour les besoins d'une réunion publique",
                    ),
                    ("REU-AME", "Aménagements apportés au local "),
                    ("REU-EC", "Éclairage et sonorisation"),
                    ("REU-ORD", "Éclairage et sonorisation"),
                    ("REU-AUT", "Autres frais liés à une réunion publique"),
                    ("PIM", "Publication et impression (hors R39)"),
                    ("PIM-CON", "Frais de conception et d'impression"),
                    ("PIM-POS", "Frais de distribution et postaux"),
                    ("PIM-PRO", "Frais de promotion"),
                    ("PIM-AUT", "Autres frais d'impression et de publication"),
                    ("AFM", "Achats de fournitures et marchandises"),
                    ("AFM-B", "Achats de fourniture de bureau"),
                    ("AFM-G", "Achats de goodies"),
                    ("AFM-M", "Dépenses de matériel"),
                    ("FBC", "Frais bancaires"),
                    ("FDV", "Frais divers"),
                    ("FRH", "Frais de réception et d'hébergement"),
                    ("FRH-H", "Frais d'hébergement"),
                    ("FRH-A", "Frais de restauration"),
                    ("HEC", "Honoraires de l'expert comptable"),
                    ("HCC", "Honoraires et conseils en communication"),
                    ("IMM", "Location ou mise à disposition immobilière"),
                    ("IMM-L", "Loyers de location"),
                    ("IMM-T", "Travaux au local"),
                    ("IMM-AUT", "Autres frais immobiliers"),
                    ("PAU", "Propagande audiovisuelle"),
                    ("PAU-CON", "Frais de conception et de réalisation audiovisuelle"),
                    (
                        "PAU-DIS",
                        "Frais de reproduction, diffusion et de distribution audiovisuelle",
                    ),
                    ("PAU-PRO", "Frais de promotion audiovisuelle"),
                    ("PAU-AUT", "Autres frais audiovisuels"),
                    ("TRA", "Transports et déplacement"),
                    ("TRA-T", "Billets de train"),
                    ("TRA-A", "Billets d'avion"),
                    ("TRA-L", "Location d'un véhicule"),
                    ("TRA-K", "Frais kilométriques"),
                    ("SAL", "Salaires"),
                    ("REF", "Refacturation"),
                    ("HCC-G", "6141"),
                    ("HCC-C", "623"),
                    ("IMM-S", "6132"),
                ],
                max_length=7,
                verbose_name="Type de dépense",
            ),
        ),
        migrations.AlterField(
            model_name="ordrevirement",
            name="date",
            field=models.DateField(
                default=django.utils.timezone.now,
                editable=False,
                verbose_name="Date d'exécution de l'ordre",
            ),
        ),
        migrations.AlterField(
            model_name="ordrevirement",
            name="fichier",
            field=models.FileField(
                editable=False,
                upload_to=dynamic_filenames.FilePattern(
                    filename_pattern="gestion/ordres/{uuid:.2base32}/{uuid}{ext}"
                ),
                verbose_name="Fichier SEPA de l'ordre de virement",
            ),
        ),
        migrations.AlterField(
            model_name="reglement",
            name="intitule",
            field=models.CharField(
                help_text="Ce champ doit permettre d'identifier facilement le règlement. Si ce règlement est par virement, ce champ sera utilisé comme unique intitulé pour le virement, et apparaîtra ainsi dans les relevés bancaires de l'émetteur comme du bénéficiaire. <strong>Il est donc conseillé d'utiliser le numéro de facture ou d'accompte.",
                max_length=200,
                verbose_name="Identifiant du règlement",
            ),
        ),
    ]
