# Generated by Django 3.2.6 on 2021-08-26 23:09

import core.models
from django.conf import settings
import django.contrib.auth.validators
import django.core.validators
from django.db import migrations, models
import django.db.models.deletion
import django.utils.timezone
import django_cryptography.fields
import django_resized.forms
import multiselectfield.db.fields


class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ('auth', '0012_alter_user_first_name_max_length'),
    ]

    operations = [
        migrations.CreateModel(
            name='Utilisateur',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('password', models.CharField(max_length=128, verbose_name='password')),
                ('last_login', models.DateTimeField(blank=True, null=True, verbose_name='last login')),
                ('is_superuser', models.BooleanField(default=False, help_text='Designates that this user has all permissions without explicitly assigning them.', verbose_name='superuser status')),
                ('username', models.CharField(error_messages={'unique': 'A user with that username already exists.'}, help_text='Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.', max_length=150, unique=True, validators=[django.contrib.auth.validators.UnicodeUsernameValidator()], verbose_name='username')),
                ('first_name', models.CharField(blank=True, max_length=150, verbose_name='first name')),
                ('last_name', models.CharField(blank=True, max_length=150, verbose_name='last name')),
                ('email', models.EmailField(blank=True, max_length=254, verbose_name='email address')),
                ('is_staff', models.BooleanField(default=False, help_text='Designates whether the user can log into this admin site.', verbose_name='staff status')),
                ('is_active', models.BooleanField(default=True, help_text='Designates whether this user should be treated as active. Unselect this instead of deleting accounts.', verbose_name='active')),
                ('date_joined', models.DateTimeField(default=django.utils.timezone.now, verbose_name='date joined')),
                ('categorie', models.CharField(blank=True, default='utilisateur', max_length=50, null=True, verbose_name='Catégorie')),
                ('force_reset_password', models.BooleanField(default=False, verbose_name='Force la mise à jour du mot de passe')),
                ('groups', models.ManyToManyField(blank=True, help_text='The groups this user belongs to. A user will get all permissions granted to each of their groups.', related_name='user_set', related_query_name='user', to='auth.Group', verbose_name='groups')),
            ],
            options={
                'permissions': [('organisateur_ajouter', 'Paramétrage | Organisateur'), ('structures_liste', 'Paramétrage | Structures'), ('types_groupes_activites_liste', "Paramétrage | Groupes d'activités"), ('activites_liste', 'Paramétrage | Activités'), ('types_cotisations_liste', "Paramétrage | Types d'adhésions"), ('unites_cotisations_liste', "Paramétrage | Unités d'adhésions"), ('questions_liste', 'Paramétrage | Questionnaires'), ('modeles_documents_liste', 'Paramétrage | Modèles de documents'), ('modeles_emails_liste', "Paramétrage | Modèles d'emails"), ('modeles_rappels_liste', 'Paramétrage | Modèles de lettres de rappel'), ('modeles_pes_liste', "Paramétrage | Modèles d'exports vers le Trésor Public"), ('comptes_bancaires_liste', 'Paramétrage | Comptes bancaires'), ('modes_reglements_liste', 'Paramétrage | Modes de règlements'), ('emetteurs_liste', 'Paramétrage | Emetteurs de règlements'), ('types_pieces_liste', 'Paramétrage | Types de pièces'), ('regimes_liste', 'Paramétrage | Régimes sociaux'), ('caisses_liste', 'Paramétrage | Caisses'), ('types_quotients_liste', 'Paramétrage | Types de quotients'), ('categories_travail_liste', 'Paramétrage | Catégories socio-professionnelles'), ('secteurs_liste', 'Paramétrage | Secteurs géographiques'), ('types_sieste_liste', 'Paramétrage | Types de sieste'), ('types_regimes_alimentaires_liste', 'Paramétrage | Types de régimes alimentaires'), ('categories_medicales_liste', 'Paramétrage | Catégories médicales'), ('types_maladies_liste', 'Paramétrage | Types de maladies'), ('types_vaccins_liste', 'Paramétrage | Types de vaccins'), ('medecins_liste', 'Paramétrage | Médecins'), ('assureurs_liste', 'Paramétrage | Assureurs'), ('lots_factures_liste', 'Paramétrage | Lots de factures'), ('prefixes_factures_liste', 'Paramétrage | Préfixes de factures'), ('messages_factures_liste', 'Paramétrage | Messages de factures'), ('regies_liste', 'Paramétrage | Régies'), ('niveaux_scolaires_liste', 'Paramétrage | Niveaux scolaires'), ('ecoles_liste', 'Paramétrage | Ecoles'), ('classes_liste', 'Paramétrage | Classes'), ('restaurateurs_liste', 'Paramétrage | Restaurateurs'), ('menus_categories_liste', 'Paramétrage | Catégories de menus'), ('menus_legendes_liste', 'Paramétrage | Légendes de menus'), ('notes_categories_liste', 'Paramétrage | Catégories de notes'), ('adresses_mail_liste', "Paramétrage | Adresses d'expédition d'emails"), ('listes_diffusion_liste', 'Paramétrage | Listes de diffusion'), ('vacances_liste', 'Paramétrage | Périodes de vacances'), ('feries_fixes_liste', 'Paramétrage | Jours fériés fixes'), ('feries_variables_liste', 'Paramétrage | Jours fériés variables'), ('portail_parametres_modifier', 'Paramétrage | Paramètres'), ('categories_compte_internet_liste', 'Paramétrage | Catégories de compte internet'), ('types_consentements_liste', 'Paramétrage | Types de consentements'), ('unites_consentements_liste', 'Paramétrage | Unités de consentements'), ('albums_liste', 'Paramétrage | Albums photos'), ('images_articles_liste', "Paramétrage | Banque d'images des articles"), ('articles_liste', 'Paramétrage | Articles'), ('statistiques', 'Outils | Statistiques'), ('contacts_liste', "Outils | Carnets d'adresses"), ('editeur_emails', "Outils | Editeur d'Emails"), ('emails_liste', 'Outils | Listes des Emails'), ('historique', 'Outils | Historique'), ('notes_liste', 'Outils | Notes'), ('update', "Outils | Mise à jour de l'application"), ('notes_versions', 'Outils | Notes de versions'), ('calendrier_annuel', 'Outils | Calendrier annuel'), ('sauvegarde_creer', 'Outils | Créer une sauvegarde'), ('sauvegarde_restaurer', 'Outils | Restaurer une sauvegarde'), ('messagerie_portail', 'Outils | Messages non lus à traiter'), ('messages_portail_liste', 'Outils | Messages du portail'), ('famille_liste', 'Individus | Liste des familles'), ('individu_liste', 'Individus | Liste des individus rattachés'), ('individus_detaches_liste', 'Individus | Liste des individus détachés'), ('inscriptions_liste', 'Individus | Liste des inscriptions'), ('liste_inscriptions_attente', 'Individus | Liste des inscriptions en attente'), ('liste_inscriptions_refus', 'Individus | Liste des inscriptions refusées'), ('suivi_inscriptions', 'Individus | Suivi des inscriptions'), ('inscriptions_impression', 'Individus | Imprimer des inscriptions'), ('inscriptions_email', 'Individus | Envoyer des inscriptions par Email'), ('inscriptions_scolaires_liste', 'Individus | Inscriptions scolaires'), ('scolarites_liste', 'Individus | Etapes de scolarité'), ('liste_pieces_manquantes', 'Individus | Liste des pièces manquantes'), ('liste_pieces_fournies', 'Individus | Liste des pièces fournies'), ('importation_photos', 'Individus | Importer des photos individuelles'), ('liste_anniversaires', 'Individus | Liste des anniversaires'), ('liste_regimes_caisses', 'Individus | Liste des régimes et des caisses'), ('liste_quotients', 'Individus | Liste des quotients familiaux/revenus'), ('liste_codes_comptables', 'Individus | Liste des codes comptables'), ('mandats_liste', 'Individus | Liste des mandats SEPA'), ('contacts_urgence_liste', "Individus | Liste des contacts d'urgence et de sortie"), ('regimes_alimentaires_liste', 'Individus | Liste des régimes alimentaires'), ('maladies_liste', 'Individus | Liste des maladies'), ('liste_comptes_internet', 'Individus | Liste des comptes internet'), ('questionnaires_familles_liste', 'Individus | Liste des questionnaires familiaux'), ('questionnaires_individus_liste', 'Individus | Liste des questionnaires individuels'), ('etiquettes_individus', "Individus | Edition d'étiquettes et de badges"), ('cotisations_liste', 'Adhésions | Liste des adhésions'), ('cotisations_impression', 'Adhésions | Imprimer des adhésions'), ('cotisations_email', 'Adhésions | Envoyer des adhésions par Email'), ('liste_cotisations_manquantes', 'Adhésions | Liste des adhésions manquantes'), ('saisie_lot_cotisations', "Adhésions | Saisir un lot d'adhésions"), ('liste_cotisations_disponibles', 'Adhésions | Liste des adhésions non déposées'), ('depots_cotisations_liste', "Adhésions | Dépôts d'adhésions"), ('edition_liste_conso', 'Consommations | Edition de la liste des consommations'), ('gestionnaire_conso', 'Consommations | Gestionnaire des consommations'), ('pointeuse_conso', 'Consommations | Pointeuse en temps réel'), ('suivi_consommations', 'Consommations | Suivi des consommations'), ('liste_attente', "Consommations | Liste d'attente"), ('liste_refus', 'Consommations | Liste des places refusées'), ('liste_absences', 'Consommations | Liste des absences'), ('etat_global', 'Consommations | Etat global'), ('synthese_consommations', 'Consommations | Synthèse des consommations'), ('factures_generation', 'Facturation | Génération des factures'), ('lots_pes_liste', 'Facturation | Exports vers le Trésor Public'), ('factures_impression', 'Facturation | Imprimer des factures'), ('factures_email', 'Facturation | Envoyer des factures par Email'), ('liste_factures', 'Facturation | Liste des factures'), ('rappels_generation', 'Facturation | Génération des lettres de rappel'), ('liste_rappels', 'Facturation | Liste des lettres de rappel'), ('rappels_impression', 'Facturation | Imprimer des lettres de rappel'), ('rappels_email', 'Facturation | Envoyer des lettres de rappel par Email'), ('liste_tarifs', 'Facturation | Liste des tarifs'), ('liste_prestations', 'Facturation | Liste des prestations'), ('liste_deductions', 'Facturation | Liste des déductions'), ('liste_soldes', 'Facturation | Liste des soldes'), ('synthese_prestations', 'Facturation | Synthèse des prestations'), ('synthese_impayes', 'Facturation | Synthèse des impayés'), ('liste_recus', 'Règlements | Liste des reçus de règlements'), ('liste_reglements', 'Règlements | Liste des règlements'), ('liste_detaillee_reglements', 'Règlements | Liste détaillée des règlements'), ('detail_prestations_depot', "Règlements | Détail des prestations d'un dépôt"), ('synthese_modes_reglements', 'Règlements | Synthèse des modes de règlements'), ('liste_reglements_disponibles', 'Règlements | Liste des règlements non déposés'), ('depots_reglements_liste', 'Règlements | Dépôts de règlements'), ('corriger_ventilation', 'Règlements | Corriger la ventilation'), ('famille_questionnaire', 'Fiche famille | Questionnaire'), ('famille_pieces', 'Fiche famille | Pièces'), ('famille_cotisations', 'Fiche famille | Adhésions'), ('famille_caisse', 'Fiche famille | Caisse'), ('famille_aides', 'Fiche famille | Aides'), ('famille_quotients', 'Fiche famille | Quotients familiaux'), ('famille_prestations', 'Fiche famille | Prestations'), ('famille_factures', 'Fiche famille | Factures'), ('famille_reglements', 'Fiche famille | Règlements'), ('famille_portail', 'Fiche famille | Portail'), ('famille_divers', 'Fiche famille | Paramètres'), ('famille_outils', 'Fiche famille | Outils'), ('famille_consommations', 'Fiche famille | Consommations'), ('individu_identite', 'Fiche individuelle | Identité'), ('individu_questionnaire', 'Fiche individuelle | Questionnaire'), ('individu_liens', 'Fiche individuelle | Liens'), ('individu_coords', 'Fiche individuelle | Coordonnées'), ('individu_scolarite', 'Fiche individuelle | Scolarité'), ('individu_inscriptions', 'Fiche individuelle | Inscriptions'), ('individu_regimes_alimentaires', 'Fiche individuelle | Régimes alimentaires'), ('individu_maladies', 'Fiche individuelle | Maladies'), ('individu_medical', 'Fiche individuelle | Médical'), ('individu_assurances', 'Fiche individuelle | Assurances'), ('individu_contacts', 'Fiche individuelle | Contacts'), ('individu_consommations', 'Fiche individuelle | Consommations')],
            },
            managers=[
                ('objects', core.models.CustomUserManager()),
            ],
        ),
        migrations.CreateModel(
            name='Activite',
            fields=[
                ('idactivite', models.AutoField(db_column='IDactivite', primary_key=True, serialize=False, verbose_name='ID')),
                ('nom', models.CharField(max_length=300, verbose_name='Nom')),
                ('abrege', models.CharField(max_length=100, verbose_name='Abrégé')),
                ('coords_org', models.BooleanField(default=True, verbose_name="Coordonnées identiques à celles de l'organisateur")),
                ('rue', models.CharField(blank=True, max_length=200, null=True, verbose_name='Rue')),
                ('cp', models.CharField(blank=True, max_length=50, null=True, verbose_name='Code postal')),
                ('ville', models.CharField(blank=True, max_length=200, null=True, verbose_name='Ville')),
                ('tel', models.CharField(blank=True, max_length=200, null=True, verbose_name='Téléphone')),
                ('fax', models.CharField(blank=True, max_length=200, null=True, verbose_name='Fax')),
                ('mail', models.EmailField(blank=True, max_length=300, null=True, verbose_name='Email')),
                ('site', models.CharField(blank=True, max_length=300, null=True, verbose_name='site internet')),
                ('logo_org', models.BooleanField(default=True, verbose_name="Logo identique à celui de l'organisateur")),
                ('logo', django_resized.forms.ResizedImageField(blank=True, crop=None, force_format=None, keep_meta=True, null=True, quality=95, size=[500, 500], upload_to=core.models.get_uuid_path, verbose_name='Logo')),
                ('date_debut', models.DateField(blank=True, null=True, verbose_name='Date de début')),
                ('date_fin', models.DateField(blank=True, null=True, verbose_name='Date de fin')),
                ('vaccins_obligatoires', models.BooleanField(default=False, verbose_name='Vaccinations obligatoires')),
                ('date_creation', models.DateTimeField(auto_now_add=True, verbose_name='Date de création')),
                ('nbre_inscrits_max', models.IntegerField(blank=True, null=True, verbose_name="Nombre d'inscrits maximal")),
                ('code_comptable', models.CharField(blank=True, max_length=200, null=True, verbose_name='Code comptable')),
                ('portail_inscriptions_affichage', models.CharField(choices=[('JAMAIS', 'Ne pas autoriser'), ('TOUJOURS', 'Autoriser'), ('PERIODE', 'Autoriser sur la période suivante')], default='JAMAIS', max_length=100, verbose_name='Inscriptions autorisées')),
                ('portail_inscriptions_date_debut', models.DateTimeField(blank=True, null=True, verbose_name="Date de début d'affichage")),
                ('portail_inscriptions_date_fin', models.DateTimeField(blank=True, null=True, verbose_name="Date de fin d'affichage")),
                ('portail_reservations_affichage', models.CharField(choices=[('JAMAIS', 'Ne pas autoriser'), ('TOUJOURS', 'Autoriser')], default='JAMAIS', max_length=100, verbose_name='Réservations autorisées')),
                ('portail_reservations_limite', models.CharField(blank=True, max_length=200, null=True, verbose_name="Date limite de modification d'une réservation")),
                ('portail_afficher_dates_passees', models.CharField(choices=[('0', 'Jamais'), ('2', 'Deux jours'), ('3', 'Trois jours'), ('7', 'Une semaine'), ('14', 'Deux semaines'), ('30', 'Un mois'), ('61', 'Deux mois'), ('92', 'Trois mois'), ('9999', 'Toujours')], default='14', max_length=100, verbose_name='Afficher les dates passées')),
                ('inscriptions_multiples', models.BooleanField(default=False, verbose_name='Autoriser plusieurs inscriptions simultanées pour chaque individu')),
                ('code_produit_local', models.CharField(blank=True, max_length=200, null=True, verbose_name='Code produit local')),
            ],
            options={
                'verbose_name': 'activité',
                'verbose_name_plural': 'activités',
                'db_table': 'activites',
            },
        ),
        migrations.CreateModel(
            name='AdresseMail',
            fields=[
                ('idadresse', models.AutoField(db_column='IDadresse', primary_key=True, serialize=False, verbose_name='ID')),
                ('adresse', models.EmailField(help_text="Saisissez l'adresse mail utilisée.", max_length=300, verbose_name="Adresse d'envoi")),
                ('motdepasse', models.CharField(blank=True, help_text='Saisissez le mot de passe de la messagerie.', max_length=300, null=True, verbose_name='Mot de passe')),
                ('hote', models.CharField(blank=True, help_text="Saisissez le nom de l'hôte de la messagerie (Ex: smtp.orange.fr, smtp.gmail.com...).", max_length=300, null=True, verbose_name='Hôte')),
                ('port', models.IntegerField(blank=True, help_text='Saisissez le numéro de port (Ex: 995, 465...)', null=True, verbose_name='Port')),
                ('use_ssl', models.BooleanField(default=False, help_text='Cochez cette case si la messagerie exige le protocole SSL.', verbose_name='SSL')),
                ('defaut', models.BooleanField(default=False, verbose_name='Adresse par défaut')),
                ('use_tls', models.BooleanField(default=False, help_text='Cochez cette case si la messagerie exige le protocole TLS.', verbose_name='TLS')),
                ('utilisateur', models.CharField(blank=True, help_text="Saisissez le nom d'utilisateur (Souvent identique à l'adresse mail).", max_length=300, null=True, verbose_name='Utilisateur')),
                ('nom_adresse', models.CharField(blank=True, help_text="Saisissez le nom ou l'adresse que vous souhaitez voir apparaître dans le client de messagerie du destinataire.", max_length=300, null=True, verbose_name='Adresse affichée')),
                ('moteur', models.CharField(choices=[('smtp', 'SMTP'), ('mailjet', 'Mailjet'), ('console', 'Console')], help_text="Sélectionnez un moteur d'expédition (Smtp ou Mailjet).", max_length=200, verbose_name='Moteur')),
                ('parametres', models.CharField(blank=True, max_length=500, null=True, verbose_name='Paramètres')),
            ],
            options={
                'verbose_name': 'adresse Mail',
                'verbose_name_plural': 'adresses Mail',
                'db_table': 'adresses_mail',
            },
        ),
        migrations.CreateModel(
            name='Aide',
            fields=[
                ('idaide', models.AutoField(db_column='IDaide', primary_key=True, serialize=False, verbose_name='ID')),
                ('nom', models.CharField(max_length=200, verbose_name='Nom')),
                ('date_debut', models.DateField(verbose_name='Date de début')),
                ('date_fin', models.DateField(verbose_name='Date de fin')),
                ('montant_max', models.DecimalField(blank=True, decimal_places=2, default=0.0, max_digits=10, null=True, verbose_name='Montant plafond')),
                ('nbre_dates_max', models.IntegerField(blank=True, null=True, verbose_name='Quantité plafond')),
                ('jours_scolaires', multiselectfield.db.fields.MultiSelectField(blank=True, choices=[(0, 'Lundi'), (1, 'Mardi'), (2, 'Mercredi'), (3, 'Jeudi'), (4, 'Vendredi'), (5, 'Samedi'), (6, 'Dimanche')], max_length=100, null=True, verbose_name='Jours sur les périodes scolaires')),
                ('jours_vacances', multiselectfield.db.fields.MultiSelectField(blank=True, choices=[(0, 'Lundi'), (1, 'Mardi'), (2, 'Mercredi'), (3, 'Jeudi'), (4, 'Vendredi'), (5, 'Samedi'), (6, 'Dimanche')], max_length=100, null=True, verbose_name='Jours sur les périodes de vacances')),
                ('activite', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='core.activite', verbose_name='Activité')),
            ],
            options={
                'verbose_name': 'aide',
                'verbose_name_plural': 'aides',
                'db_table': 'aides',
            },
        ),
        migrations.CreateModel(
            name='Album',
            fields=[
                ('idalbum', models.AutoField(db_column='IDalbum', primary_key=True, serialize=False, verbose_name='ID')),
                ('titre', models.CharField(help_text='Le titre est visible pour les familles sur le portail.', max_length=300, verbose_name="Titre de l'album")),
                ('description', models.TextField(blank=True, help_text='La description est visible pour les familles sur le portail.', null=True, verbose_name='Description')),
                ('date_creation', models.DateTimeField(auto_now_add=True, verbose_name='Date de création')),
                ('code', models.CharField(default=core.models.get_uuid, max_length=300, verbose_name="Code de l'album")),
                ('auteur', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='Auteur')),
            ],
            options={
                'verbose_name': 'album',
                'verbose_name_plural': 'albums',
                'db_table': 'albums',
            },
        ),
        migrations.CreateModel(
            name='Assureur',
            fields=[
                ('idassureur', models.AutoField(db_column='IDassureur', primary_key=True, serialize=False, verbose_name='ID')),
                ('nom', models.CharField(max_length=300, verbose_name='Nom')),
            ],
            options={
                'verbose_name': 'assureur',
                'verbose_name_plural': 'assureurs',
                'db_table': 'assureurs',
            },
        ),
        migrations.CreateModel(
            name='Caisse',
            fields=[
                ('idcaisse', models.AutoField(db_column='IDcaisse', primary_key=True, serialize=False, verbose_name='ID')),
                ('nom', models.CharField(max_length=200, verbose_name='Nom')),
            ],
            options={
                'verbose_name': 'caisse',
                'verbose_name_plural': 'caisses',
                'db_table': 'caisses',
            },
        ),
        migrations.CreateModel(
            name='CategorieCompteInternet',
            fields=[
                ('idcategorie', models.AutoField(db_column='IDcategorie', primary_key=True, serialize=False, verbose_name='ID')),
                ('nom', models.CharField(max_length=200, verbose_name='Nom')),
            ],
            options={
                'verbose_name': 'catégorie de compte internet',
                'verbose_name_plural': 'catégories de compte internet',
                'db_table': 'categories_compte_internet',
            },
        ),
        migrations.CreateModel(
            name='CategorieMedicale',
            fields=[
                ('idcategorie', models.AutoField(db_column='IDcategorie', primary_key=True, serialize=False, verbose_name='ID')),
                ('nom', models.CharField(max_length=200, verbose_name='Nom')),
            ],
            options={
                'verbose_name': 'catégorie médicale',
                'verbose_name_plural': 'catégories médicales',
                'db_table': 'categories_medicales',
            },
        ),
        migrations.CreateModel(
            name='CategorieTarif',
            fields=[
                ('idcategorie_tarif', models.AutoField(db_column='IDcategorie_tarif', primary_key=True, serialize=False, verbose_name='ID')),
                ('nom', models.CharField(max_length=200, verbose_name='Nom')),
                ('activite', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.activite', verbose_name='Activité')),
            ],
            options={
                'verbose_name': 'catégorie de tarif',
                'verbose_name_plural': 'catégories de tarif',
                'db_table': 'categories_tarifs',
            },
        ),
        migrations.CreateModel(
            name='CategorieTravail',
            fields=[
                ('idcategorie', models.AutoField(db_column='IDcategorie', primary_key=True, serialize=False, verbose_name='ID')),
                ('nom', models.CharField(max_length=200, verbose_name='Nom')),
            ],
            options={
                'verbose_name': 'catégorie socio-professionnelle',
                'verbose_name_plural': 'catégories socio-professionnelles',
                'db_table': 'categories_travail',
            },
        ),
        migrations.CreateModel(
            name='Classe',
            fields=[
                ('idclasse', models.AutoField(db_column='IDclasse', primary_key=True, serialize=False, verbose_name='ID')),
                ('nom', models.CharField(max_length=300, verbose_name='Nom')),
                ('date_debut', models.DateField(verbose_name='Date de début')),
                ('date_fin', models.DateField(verbose_name='Date de fin')),
            ],
            options={
                'verbose_name': 'classe',
                'verbose_name_plural': 'classes',
                'db_table': 'classes',
            },
        ),
        migrations.CreateModel(
            name='CompteBancaire',
            fields=[
                ('idcompte', models.AutoField(db_column='IDcompte', primary_key=True, serialize=False, verbose_name='ID')),
                ('nom', models.CharField(max_length=200, verbose_name='Nom')),
                ('numero', models.CharField(blank=True, max_length=200, null=True, verbose_name='Numéro')),
                ('defaut', models.BooleanField(default=False, verbose_name='Compte par défaut')),
                ('raison', models.CharField(blank=True, max_length=200, null=True, verbose_name='Raison sociale')),
                ('code_etab', models.CharField(blank=True, max_length=200, null=True, verbose_name='Code établissement')),
                ('code_guichet', models.CharField(blank=True, max_length=200, null=True, verbose_name='Code guichet')),
                ('code_nne', models.CharField(blank=True, max_length=200, null=True, verbose_name='Code NNE')),
                ('cle_rib', models.CharField(blank=True, max_length=200, null=True, verbose_name='Clé RIB')),
                ('cle_iban', models.CharField(blank=True, max_length=200, null=True, verbose_name='Clé IBAN')),
                ('iban', django_cryptography.fields.encrypt(models.CharField(blank=True, max_length=200, null=True, verbose_name='Numéro IBAN'))),
                ('bic', django_cryptography.fields.encrypt(models.CharField(blank=True, max_length=200, null=True, verbose_name='BIC'))),
                ('code_ics', models.CharField(blank=True, max_length=200, null=True, verbose_name='Code ICS')),
                ('dft_titulaire', models.CharField(blank=True, max_length=400, null=True, verbose_name='Titulaire DFT')),
                ('dft_iban', django_cryptography.fields.encrypt(models.CharField(blank=True, max_length=400, null=True, verbose_name='IBAN DFT'))),
            ],
            options={
                'verbose_name': 'compte bancaire',
                'verbose_name_plural': 'comptes bancaires',
                'db_table': 'comptes_bancaires',
            },
        ),
        migrations.CreateModel(
            name='Contact',
            fields=[
                ('idcontact', models.AutoField(db_column='IDcontact', primary_key=True, serialize=False, verbose_name='ID')),
                ('nom', models.CharField(max_length=200, verbose_name='Nom')),
                ('prenom', models.CharField(blank=True, max_length=200, null=True, verbose_name='Prénom')),
                ('rue_resid', models.CharField(blank=True, max_length=200, null=True, verbose_name='Rue')),
                ('cp_resid', models.CharField(blank=True, max_length=50, null=True, verbose_name='Code postal')),
                ('ville_resid', models.CharField(blank=True, max_length=200, null=True, verbose_name='Ville')),
                ('tel_domicile', models.CharField(blank=True, max_length=100, null=True, verbose_name='Tél domicile')),
                ('tel_mobile', models.CharField(blank=True, max_length=100, null=True, verbose_name='Tél portable')),
                ('mail', models.EmailField(blank=True, max_length=300, null=True, verbose_name='Email')),
                ('site', models.CharField(blank=True, max_length=200, null=True, verbose_name='Site')),
                ('memo', models.TextField(blank=True, null=True, verbose_name='Mémo')),
            ],
            options={
                'verbose_name': 'contact',
                'verbose_name_plural': 'contacts',
                'db_table': 'contacts',
            },
        ),
        migrations.CreateModel(
            name='Depot',
            fields=[
                ('iddepot', models.AutoField(db_column='IDdepot', primary_key=True, serialize=False, verbose_name='ID')),
                ('date', models.DateField(verbose_name='Date')),
                ('nom', models.CharField(max_length=200, verbose_name='Nom')),
                ('verrouillage', models.BooleanField(default=False, verbose_name='Verrouillage')),
                ('observations', models.TextField(blank=True, null=True, verbose_name='Observations')),
                ('code_compta', models.CharField(blank=True, max_length=200, null=True, verbose_name='Code comptable')),
                ('montant', models.DecimalField(blank=True, decimal_places=2, default=0.0, max_digits=10, null=True, verbose_name='Montant')),
                ('compte', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='core.comptebancaire', verbose_name='Compte bancaire')),
            ],
            options={
                'verbose_name': 'Dépôt',
                'verbose_name_plural': 'Dépôts',
                'db_table': 'depots',
            },
        ),
        migrations.CreateModel(
            name='DepotCotisations',
            fields=[
                ('iddepot', models.AutoField(db_column='IDdepot', primary_key=True, serialize=False, verbose_name='ID')),
                ('date', models.DateField(verbose_name='Date')),
                ('nom', models.CharField(max_length=200, verbose_name='Nom')),
                ('verrouillage', models.BooleanField(default=False, verbose_name='Verrouillage')),
                ('observations', models.TextField(blank=True, null=True, verbose_name='Observations')),
                ('quantite', models.IntegerField(blank=True, null=True, verbose_name='Quantité')),
            ],
            options={
                'verbose_name': "dépôt d'adhésions",
                'verbose_name_plural': "dépôts d'adhésions",
                'db_table': 'depots_cotisations',
            },
        ),
        migrations.CreateModel(
            name='Destinataire',
            fields=[
                ('iddestinataire', models.AutoField(db_column='IDdestinataire', primary_key=True, serialize=False, verbose_name='ID')),
                ('categorie', models.CharField(blank=True, max_length=300, null=True, verbose_name='Catégorie')),
                ('adresse', models.EmailField(blank=True, max_length=300, null=True, verbose_name='Email')),
                ('date_envoi', models.DateTimeField(blank=True, null=True, verbose_name="Date d'envoi")),
                ('resultat_envoi', models.CharField(blank=True, max_length=300, null=True, verbose_name="Résultat de l'envoi")),
                ('valeurs', models.TextField(blank=True, null=True, verbose_name='Valeurs')),
                ('contact', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='core.contact', verbose_name='Contact')),
            ],
            options={
                'verbose_name': 'destinataire',
                'verbose_name_plural': 'destinataires',
                'db_table': 'destinataires',
            },
        ),
        migrations.CreateModel(
            name='DocumentJoint',
            fields=[
                ('iddocument', models.AutoField(db_column='IDdocument', primary_key=True, serialize=False, verbose_name='ID')),
                ('nom', models.CharField(max_length=300, verbose_name='Nom')),
                ('fichier', models.FileField(blank=True, null=True, upload_to=core.models.get_uuid_path, verbose_name='Fichier')),
            ],
            options={
                'verbose_name': 'document joint',
                'verbose_name_plural': 'document joints',
                'db_table': 'documents_joints',
            },
        ),
        migrations.CreateModel(
            name='Ecole',
            fields=[
                ('idecole', models.AutoField(db_column='IDecole', primary_key=True, serialize=False, verbose_name='ID')),
                ('nom', models.CharField(max_length=300, verbose_name='Nom')),
                ('rue', models.CharField(blank=True, max_length=200, null=True, verbose_name='Rue')),
                ('cp', models.CharField(blank=True, max_length=50, null=True, verbose_name='Code postal')),
                ('ville', models.CharField(blank=True, max_length=200, null=True, verbose_name='Ville')),
                ('tel', models.CharField(blank=True, max_length=200, null=True, verbose_name='Téléphone')),
                ('fax', models.CharField(blank=True, max_length=200, null=True, verbose_name='Fax')),
                ('mail', models.EmailField(blank=True, max_length=300, null=True, verbose_name='Email')),
            ],
            options={
                'verbose_name': 'école',
                'verbose_name_plural': 'écoles',
                'db_table': 'ecoles',
            },
        ),
        migrations.CreateModel(
            name='Emetteur',
            fields=[
                ('idemetteur', models.AutoField(db_column='IDemetteur', primary_key=True, serialize=False, verbose_name='ID')),
                ('nom', models.CharField(max_length=200, verbose_name='Nom')),
                ('image', models.ImageField(blank=True, null=True, upload_to=core.models.get_uuid_path, verbose_name='Image')),
            ],
            options={
                'verbose_name': 'emetteur de règlement',
                'verbose_name_plural': 'emetteurs de règlement',
                'db_table': 'emetteurs',
            },
        ),
        migrations.CreateModel(
            name='Evenement',
            fields=[
                ('idevenement', models.AutoField(db_column='IDevenement', primary_key=True, serialize=False, verbose_name='ID')),
                ('date', models.DateField(verbose_name='Date')),
                ('nom', models.CharField(max_length=200, verbose_name='Nom')),
                ('description', models.CharField(blank=True, max_length=400, null=True, verbose_name='Description')),
                ('capacite_max', models.IntegerField(blank=True, null=True, verbose_name='Capacité max.')),
                ('heure_debut', models.TimeField(blank=True, null=True, verbose_name='Heure de début')),
                ('heure_fin', models.TimeField(blank=True, null=True, verbose_name='Heure de fin')),
                ('montant', models.DecimalField(blank=True, decimal_places=2, default=0.0, max_digits=10, null=True, verbose_name='Montant')),
                ('activite', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.activite', verbose_name='Activité')),
            ],
            options={
                'verbose_name': 'événement',
                'verbose_name_plural': 'événements',
                'db_table': 'evenements',
            },
        ),
        migrations.CreateModel(
            name='Facture',
            fields=[
                ('idfacture', models.AutoField(db_column='IDfacture', primary_key=True, serialize=False, verbose_name='ID')),
                ('numero', models.IntegerField(verbose_name='Numéro')),
                ('date_edition', models.DateField(verbose_name='Date')),
                ('date_echeance', models.DateField(blank=True, null=True, verbose_name="Date d'échéance")),
                ('activites', models.CharField(blank=True, max_length=200, null=True, verbose_name='Activités associées')),
                ('individus', models.CharField(blank=True, max_length=200, null=True, verbose_name='Individus associés')),
                ('date_debut', models.DateField(verbose_name='Début')),
                ('date_fin', models.DateField(verbose_name='Fin')),
                ('total', models.DecimalField(decimal_places=2, default=0.0, max_digits=10, verbose_name='Total')),
                ('regle', models.DecimalField(decimal_places=2, default=0.0, max_digits=10, verbose_name='Réglé')),
                ('solde', models.DecimalField(decimal_places=2, default=0.0, max_digits=10, verbose_name='Solde')),
                ('solde_actuel', models.DecimalField(decimal_places=2, default=0.0, max_digits=10, verbose_name='Solde actuel')),
                ('prestations', models.CharField(blank=True, max_length=200, null=True, verbose_name='Types de prestations')),
            ],
            options={
                'verbose_name': 'facture',
                'verbose_name_plural': 'factures',
                'db_table': 'factures',
            },
        ),
        migrations.CreateModel(
            name='Famille',
            fields=[
                ('idfamille', models.AutoField(db_column='IDfamille', primary_key=True, serialize=False, verbose_name='ID')),
                ('date_creation', models.DateTimeField(auto_now_add=True, verbose_name='Date de création')),
                ('num_allocataire', models.CharField(blank=True, max_length=100, null=True, verbose_name="Numéro d'allocataire")),
                ('autorisation_cafpro', models.BooleanField(default=False, verbose_name='Autorisation accès CAF-CDAP')),
                ('internet_actif', models.BooleanField(default=True, verbose_name='Compte internet activé')),
                ('internet_identifiant', django_cryptography.fields.encrypt(models.CharField(blank=True, max_length=200, null=True, verbose_name='Identifiant'))),
                ('internet_mdp', django_cryptography.fields.encrypt(models.CharField(blank=True, max_length=200, null=True, verbose_name='Mot de passe'))),
                ('internet_reservations', models.BooleanField(default=True, verbose_name='Autoriser les réservations sur le portail')),
                ('memo', models.TextField(blank=True, null=True, verbose_name='Mémo')),
                ('email_factures', models.BooleanField(default=False, verbose_name="Activation de l'envoi des factures par Email")),
                ('email_factures_adresses', models.CharField(blank=True, max_length=400, null=True, verbose_name="Adresses pour l'envoi des factures par Email")),
                ('email_recus', models.BooleanField(default=False, verbose_name="Activation de l'envoi des reçus par Email")),
                ('email_recus_adresses', models.CharField(blank=True, max_length=400, null=True, verbose_name="Adresses pour l'envoi des reçus par Email")),
                ('email_depots', models.BooleanField(default=False, verbose_name="Activation de l'envoi des avis d'encaissement par Email")),
                ('email_depots_adresses', models.CharField(blank=True, max_length=400, null=True, verbose_name="Adresses pour l'envoi des avis d'encaissement par Email")),
                ('code_compta', models.CharField(blank=True, max_length=200, null=True, verbose_name='Code comptable')),
                ('idtiers_helios', models.CharField(blank=True, help_text="Saisissez l'identifiant national (SIRET ou SIREN ou FINESS ou NIR)", max_length=300, null=True, verbose_name='Identifiant national')),
                ('natidtiers_helios', models.IntegerField(blank=True, choices=[(9999, 'Aucun'), (1, '01 - SIRET'), (2, '02 - SIREN'), (3, '03 - FINESS'), (4, '04 - NIR')], default=9999, help_text="Sélectionnez le type d'identifiant national du tiers pour Hélios (Trésor Public)", null=True, verbose_name="Type d'identifiant national")),
                ('reftiers_helios', models.CharField(blank=True, help_text='Saisissez la référence locale du tiers', max_length=200, null=True, verbose_name='Référence locale')),
                ('cattiers_helios', models.IntegerField(blank=True, choices=[(1, 'Personne physique'), (20, 'Etat ou établissement public national'), (21, 'Région'), (22, 'Département'), (23, 'Commune'), (24, 'Groupement de collectivités'), (25, 'Caisse des écoles'), (26, 'CCAS'), (27, 'Etablissement public de santé'), (28, 'Ecole nationale de la santé publique'), (29, 'Autre établissement publique ou organisme international'), (50, "Personne morale de droit privé autre qu'organisme social"), (60, 'Caisse de sécurité sociale régime général'), (61, 'Caisse de sécurité sociale régime agricole'), (62, 'Sécurité sociale des travailleurs non salariés et professions non agricoles'), (63, 'Autre régime obligatoire de sécurité sociale'), (64, "Mutuelle ou organisme d'assurance"), (65, 'Autre tiers payant'), (70, 'CNRACL'), (71, 'IRCANTEC'), (72, 'ASSEDIC'), (73, 'Caisse mutualiste de retraite complémentaire'), (74, 'Autre organisme social')], default=1, help_text='Sélectionnez la catégorie de tiers pour Hélios (Trésor Public)', null=True, verbose_name='Catégorie de tiers')),
                ('natjur_helios', models.IntegerField(blank=True, choices=[(0, 'Inconnu'), (1, 'Particulier'), (2, 'Artisan / commerçant / agriculteur'), (3, 'Société'), (4, 'CAM ou Caisse appliquant les mêmes règles'), (5, 'Caisse complémentaire'), (6, 'Association'), (7, "Etat ou organisme d'état"), (8, 'Etablissement public national'), (9, 'Collectivité territoriale / EPL / EPS'), (10, 'Etat étranger'), (11, 'CAF')], default=1, help_text='Sélectionnez la nature juridique du tiers pour Hélios (Trésor Public)', null=True, verbose_name='Nature juridique')),
                ('etat', models.CharField(blank=True, max_length=100, null=True, verbose_name='Etat')),
                ('nom', models.CharField(blank=True, max_length=300, null=True, verbose_name='Nom')),
                ('rue_resid', models.CharField(blank=True, max_length=200, null=True, verbose_name='Rue')),
                ('cp_resid', models.CharField(blank=True, max_length=50, null=True, verbose_name='Code postal')),
                ('ville_resid', models.CharField(blank=True, max_length=200, null=True, verbose_name='Ville')),
                ('mail', models.EmailField(blank=True, max_length=300, null=True, verbose_name='Email favori')),
                ('certification_date', models.DateTimeField(blank=True, null=True, verbose_name='Date de certification')),
            ],
            options={
                'verbose_name': 'famille',
                'verbose_name_plural': 'familles',
                'db_table': 'familles',
            },
        ),
        migrations.CreateModel(
            name='Ferie',
            fields=[
                ('idferie', models.AutoField(db_column='IDferie', primary_key=True, serialize=False, verbose_name='ID')),
                ('type', models.CharField(choices=[('fixe', 'Fixe'), ('variable', 'Variable')], max_length=100, verbose_name='Type')),
                ('nom', models.CharField(max_length=200, verbose_name='Nom')),
                ('jour', models.IntegerField(validators=[django.core.validators.MinValueValidator(1), django.core.validators.MaxValueValidator(31)], verbose_name='Jour')),
                ('mois', models.IntegerField(verbose_name='Mois')),
                ('annee', models.IntegerField(default=0, verbose_name='Année')),
            ],
            options={
                'verbose_name': 'jour férié',
                'verbose_name_plural': 'jours fériés',
                'db_table': 'jours_feries',
            },
        ),
        migrations.CreateModel(
            name='FiltreListe',
            fields=[
                ('idfiltre', models.AutoField(db_column='IDfiltre', primary_key=True, serialize=False, verbose_name='ID')),
                ('nom', models.CharField(max_length=400, verbose_name='Nom')),
                ('parametres', models.TextField(blank=True, null=True, verbose_name='Paramètres')),
            ],
            options={
                'verbose_name': 'Filtre de liste',
                'verbose_name_plural': 'Filtres de listes',
                'db_table': 'filtres_listes',
            },
        ),
        migrations.CreateModel(
            name='Groupe',
            fields=[
                ('idgroupe', models.AutoField(db_column='IDgroupe', primary_key=True, serialize=False, verbose_name='ID')),
                ('nom', models.CharField(max_length=200, verbose_name='Nom')),
                ('abrege', models.CharField(blank=True, max_length=200, null=True, verbose_name='Abrégé')),
                ('ordre', models.IntegerField(verbose_name='Ordre')),
                ('nbre_inscrits_max', models.IntegerField(blank=True, null=True, verbose_name="Nombre d'inscrits maximal")),
                ('activite', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.activite', verbose_name='Activité')),
            ],
            options={
                'verbose_name': 'groupe',
                'verbose_name_plural': 'groupes',
                'db_table': 'groupes',
            },
        ),
        migrations.CreateModel(
            name='Individu',
            fields=[
                ('idindividu', models.AutoField(db_column='IDindividu', primary_key=True, serialize=False, verbose_name='ID')),
                ('civilite', models.IntegerField(choices=[(1, 'Monsieur'), (2, 'Mademoiselle'), (3, 'Madame'), (4, 'Garçon'), (5, 'Fille'), (6, 'Collectivité'), (7, 'Association'), (8, 'Organisme'), (9, 'Entreprise')], db_column='IDcivilite', default=1, verbose_name='Civilité')),
                ('nom', models.CharField(max_length=200, verbose_name='Nom')),
                ('nom_jfille', models.CharField(blank=True, max_length=200, null=True, verbose_name='Nom de naissance')),
                ('prenom', models.CharField(blank=True, max_length=200, null=True, verbose_name='Prénom')),
                ('idnationalite', models.IntegerField(blank=True, db_column='IDnationalite', null=True, verbose_name='Nationalité')),
                ('date_naiss', models.DateField(blank=True, null=True, verbose_name='Date de naissance')),
                ('idpays_naiss', models.IntegerField(blank=True, db_column='IDpays_naiss', null=True, verbose_name='Pays de naissance')),
                ('cp_naiss', models.CharField(blank=True, max_length=50, null=True, verbose_name='Code postal')),
                ('ville_naiss', models.CharField(blank=True, max_length=200, null=True, verbose_name='Ville')),
                ('deces', models.BooleanField(default=False, verbose_name='Individu décédé')),
                ('annee_deces', models.IntegerField(blank=True, null=True, verbose_name='Année de décès')),
                ('adresse_auto', models.IntegerField(blank=True, null=True, verbose_name='Adresse rattachée')),
                ('rue_resid', models.CharField(blank=True, max_length=200, null=True, verbose_name='Rue')),
                ('cp_resid', models.CharField(blank=True, max_length=50, null=True, verbose_name='Code postal')),
                ('ville_resid', models.CharField(blank=True, max_length=200, null=True, verbose_name='Ville')),
                ('profession', models.CharField(blank=True, max_length=200, null=True, verbose_name='Profession')),
                ('employeur', models.CharField(blank=True, max_length=200, null=True, verbose_name='Employeur')),
                ('travail_tel', models.CharField(blank=True, max_length=100, null=True, verbose_name='Téléphone pro.')),
                ('travail_fax', models.CharField(blank=True, max_length=100, null=True, verbose_name='Fax pro.')),
                ('travail_mail', models.EmailField(blank=True, max_length=300, null=True, verbose_name='Email pro.')),
                ('tel_domicile', models.CharField(blank=True, max_length=100, null=True, verbose_name='Tél domicile')),
                ('tel_mobile', models.CharField(blank=True, max_length=100, null=True, verbose_name='Tél portable')),
                ('tel_fax', models.CharField(blank=True, max_length=100, null=True, verbose_name='Fax personnel')),
                ('mail', models.EmailField(blank=True, max_length=300, null=True, verbose_name='Email personnel')),
                ('memo', models.TextField(blank=True, null=True, verbose_name='Mémo')),
                ('date_creation', models.DateTimeField(auto_now_add=True, verbose_name='Date de création')),
                ('travail_tel_sms', models.BooleanField(default=False, verbose_name="Autoriser l'envoi de SMS vers le téléphone pro.")),
                ('tel_domicile_sms', models.BooleanField(default=False, verbose_name="Autoriser l'envoi de SMS vers le téléphone du domicile")),
                ('tel_mobile_sms', models.BooleanField(default=False, verbose_name="Autoriser l'envoi de SMS vers le téléphone portable")),
                ('etat', models.CharField(blank=True, max_length=50, null=True, verbose_name='Etat')),
                ('photo', models.ImageField(blank=True, null=True, upload_to=core.models.get_uuid_path, verbose_name='Photo')),
                ('categorie_travail', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='core.categorietravail', verbose_name='Catégorie socio-professionnelle')),
            ],
            options={
                'verbose_name': 'individu',
                'verbose_name_plural': 'individus',
                'db_table': 'individus',
            },
        ),
        migrations.CreateModel(
            name='Inscription',
            fields=[
                ('idinscription', models.AutoField(db_column='IDinscription', primary_key=True, serialize=False, verbose_name='ID')),
                ('date_debut', models.DateField(verbose_name='Date de début')),
                ('date_fin', models.DateField(blank=True, null=True, verbose_name='Date de fin')),
                ('statut', models.CharField(choices=[('ok', 'Inscription validée'), ('attente', 'Inscription en attente'), ('refus', 'Inscription refusée')], default='ok', max_length=100, verbose_name='Statut')),
                ('internet_reservations', models.BooleanField(default=True, verbose_name='Autoriser les réservations sur le portail')),
                ('activite', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='core.activite', verbose_name='Activité')),
                ('categorie_tarif', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='core.categorietarif', verbose_name='Catégorie de tarif')),
                ('famille', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='core.famille', verbose_name='Famille')),
                ('groupe', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='core.groupe', verbose_name='Groupe')),
                ('individu', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='core.individu', verbose_name='Individu')),
            ],
            options={
                'verbose_name': 'inscription',
                'verbose_name_plural': 'inscriptions',
                'db_table': 'inscriptions',
            },
        ),
        migrations.CreateModel(
            name='ListeDiffusion',
            fields=[
                ('idliste', models.AutoField(db_column='IDliste', primary_key=True, serialize=False, verbose_name='ID')),
                ('nom', models.CharField(max_length=300, verbose_name='Nom')),
            ],
            options={
                'verbose_name': 'liste de diffusion',
                'verbose_name_plural': 'listes de diffusion',
                'db_table': 'listes_diffusion',
            },
        ),
        migrations.CreateModel(
            name='LotFactures',
            fields=[
                ('idlot', models.AutoField(db_column='IDlot', primary_key=True, serialize=False, verbose_name='ID')),
                ('nom', models.CharField(max_length=200, verbose_name='Nom du lot')),
            ],
            options={
                'verbose_name': 'lot de factures',
                'verbose_name_plural': 'lots de factures',
                'db_table': 'lots_factures',
            },
        ),
        migrations.CreateModel(
            name='LotRappels',
            fields=[
                ('idlot', models.AutoField(db_column='IDlot', primary_key=True, serialize=False, verbose_name='ID')),
                ('nom', models.CharField(max_length=200, verbose_name='Nom du lot')),
            ],
            options={
                'verbose_name': 'lot de rappels',
                'verbose_name_plural': 'lots de rappels',
                'db_table': 'lots_rappels',
            },
        ),
        migrations.CreateModel(
            name='Mandat',
            fields=[
                ('idmandat', models.AutoField(db_column='IDmandat', primary_key=True, serialize=False, verbose_name='ID')),
                ('rum', models.CharField(help_text='Référence Unique du Mandat.', max_length=100, verbose_name='RUM')),
                ('type', models.CharField(choices=[('RECURRENT', 'Récurrent'), ('PONCTUEL', 'Ponctuel')], default='RECURRENT', help_text='Le mandat est généralement de type récurrent.', max_length=100, verbose_name='Type')),
                ('date', models.DateField(help_text='Date de signature du mandat.', verbose_name='Date')),
                ('individu_nom', models.CharField(blank=True, max_length=200, null=True, verbose_name='Nom')),
                ('individu_rue', models.CharField(blank=True, max_length=200, null=True, verbose_name='Rue')),
                ('individu_cp', models.CharField(blank=True, max_length=50, null=True, verbose_name='Code postal')),
                ('individu_ville', models.CharField(blank=True, max_length=200, null=True, verbose_name='Ville')),
                ('iban', django_cryptography.fields.encrypt(models.CharField(help_text="La cohérence de l'IBAN est vérifié lors de l'enregistrement du mandat.", max_length=27, verbose_name='IBAN'))),
                ('bic', django_cryptography.fields.encrypt(models.CharField(help_text="La cohérence du BIC est vérifié lors de l'enregistrement du mandat.", max_length=11, verbose_name='BIC'))),
                ('memo', models.TextField(blank=True, null=True, verbose_name='Observations')),
                ('sequence', models.CharField(choices=[('OOFF', 'Prélèvement ponctuel (OOFF)'), ('FRST', "Premier prélèvement d'une série (FRST)"), ('RCUR', "Prélèvement suivant d'une série (RCUR)"), ('FNAL', "Dernier prélèvement d'une série (FNAL)")], default='FRST', help_text='La prochaine séquence est généralement définie sur FRST lors de la création du mandat.', max_length=100, verbose_name='Séquence')),
                ('actif', models.BooleanField(default=True, help_text='Décochez la case pour désactiver ce mandat.', verbose_name='Mandat actif')),
                ('famille', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='mandats', to='core.famille', verbose_name='Famille')),
                ('individu', models.ForeignKey(blank=True, help_text="Titulaire du compte bancaire. Sélectionnez 'Autre individu' si le titulaire n'est pas dans la liste proposée.", null=True, on_delete=django.db.models.deletion.PROTECT, to='core.individu', verbose_name='Titulaire')),
            ],
            options={
                'verbose_name': 'mandat',
                'verbose_name_plural': 'mandats',
                'db_table': 'mandats',
            },
        ),
        migrations.CreateModel(
            name='Medecin',
            fields=[
                ('idmedecin', models.AutoField(db_column='IDmedecin', primary_key=True, serialize=False, verbose_name='ID')),
                ('nom', models.CharField(max_length=200, verbose_name='Nom')),
                ('prenom', models.CharField(blank=True, max_length=200, null=True, verbose_name='Prénom')),
                ('rue_resid', models.CharField(blank=True, max_length=200, null=True, verbose_name='Rue')),
                ('cp_resid', models.CharField(blank=True, max_length=50, null=True, verbose_name='Code postal')),
                ('ville_resid', models.CharField(blank=True, max_length=200, null=True, verbose_name='Ville')),
                ('tel_cabinet', models.CharField(blank=True, max_length=200, null=True, verbose_name='Téléphone fixe')),
                ('tel_mobile', models.CharField(blank=True, max_length=200, null=True, verbose_name='Téléphone mobile')),
            ],
            options={
                'verbose_name': 'médecin',
                'verbose_name_plural': 'médecins',
                'db_table': 'medecins',
            },
        ),
        migrations.CreateModel(
            name='MenuCategorie',
            fields=[
                ('idcategorie', models.AutoField(db_column='IDcategorie', primary_key=True, serialize=False, verbose_name='ID')),
                ('nom', models.CharField(max_length=200, verbose_name='Nom')),
                ('ordre', models.IntegerField(verbose_name='Ordre')),
            ],
            options={
                'verbose_name': 'catégorie de menu',
                'verbose_name_plural': 'catégories de menu',
                'db_table': 'menus_categories',
            },
        ),
        migrations.CreateModel(
            name='MenuLegende',
            fields=[
                ('idlegende', models.AutoField(db_column='IDlegende', primary_key=True, serialize=False, verbose_name='ID')),
                ('nom', models.CharField(max_length=200, verbose_name='Nom')),
                ('couleur', models.CharField(max_length=100, verbose_name='Couleur')),
            ],
            options={
                'verbose_name': 'légende de menu',
                'verbose_name_plural': 'légendes de menu',
                'db_table': 'menus_legendes',
            },
        ),
        migrations.CreateModel(
            name='MessageFacture',
            fields=[
                ('idmessage', models.AutoField(db_column='IDmessage', primary_key=True, serialize=False, verbose_name='ID')),
                ('titre', models.CharField(max_length=300, verbose_name='Titre')),
                ('texte', models.TextField(verbose_name='Texte')),
            ],
            options={
                'verbose_name': 'message de factures',
                'verbose_name_plural': 'messages de factures',
                'db_table': 'factures_messages',
            },
        ),
        migrations.CreateModel(
            name='ModeleDocument',
            fields=[
                ('idmodele', models.AutoField(db_column='IDmodele', primary_key=True, serialize=False, verbose_name='ID')),
                ('nom', models.CharField(max_length=200, verbose_name='Nom')),
                ('categorie', models.CharField(choices=[('fond', 'Calque de fond'), ('facture', 'Facture'), ('rappel', 'Lettre de rappel'), ('attestation', 'Attestation de présence'), ('reglement', 'Règlement'), ('individu', 'Individu'), ('famille', 'Famille'), ('inscription', 'Inscription'), ('cotisation', 'Adhésion'), ('attestation_fiscale', 'Attestation fiscale'), ('devis', 'Devis'), ('location', 'Location'), ('location_demande', 'Demande de location')], max_length=200, verbose_name='Catégorie')),
                ('largeur', models.IntegerField(verbose_name='Largeur')),
                ('hauteur', models.IntegerField(verbose_name='Hauteur')),
                ('defaut', models.BooleanField(default=False, verbose_name='Modèle par défaut')),
                ('objets', models.TextField(blank=True, null=True, verbose_name='Objets')),
                ('fond', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='core.modeledocument', verbose_name='Fond')),
            ],
            options={
                'verbose_name': 'modèle de document',
                'verbose_name_plural': 'modèles de documents',
                'db_table': 'documents_modeles',
            },
        ),
        migrations.CreateModel(
            name='ModeleEmail',
            fields=[
                ('idmodele', models.AutoField(db_column='IDmodele', primary_key=True, serialize=False, verbose_name='ID')),
                ('categorie', models.CharField(choices=[('saisie_libre', 'Saisie libre'), ('releve_prestations', 'Relevé des prestations'), ('reglement', 'Règlement'), ('recu_reglement', 'Reçu de règlement'), ('recu_don_oeuvres', 'Reçu de don aux oeuvres'), ('facture', 'Facture'), ('rappel', 'Rappel'), ('attestation_presence', 'Attestation de présence'), ('attestation_fiscale', 'Attestation fiscale'), ('reservations', 'Liste des réservations'), ('cotisation', 'Cotisation'), ('rappel_pieces_manquantes', 'Rappel pièces manquantes'), ('portail', 'Rappel des données du compte internet'), ('portail_demande_inscription', "Portail - Demande d'une inscription"), ('portail_demande_reservation', "Portail - Demande d'une réservation"), ('portail_demande_renseignement', "Portail - Demande de modification d'un renseignement"), ('portail_demande_facture', "Portail - Demande d'une facture"), ('portail_demande_recu_reglement', "Portail - Demande d'un reçu de règlement"), ('portail_demande_location', "Portail - Demande d'une location"), ('portail_places_disponibles', 'Portail - Attribution de places disponibles'), ('location', 'Location'), ('location_demande', 'Demande de location'), ('commande_repas', 'Commande de repas'), ('inscription', 'Inscription'), ('devis', 'Devis')], max_length=200, verbose_name='Catégorie')),
                ('nom', models.CharField(max_length=250, verbose_name='Nom')),
                ('description', models.CharField(blank=True, max_length=400, null=True, verbose_name='Description')),
                ('objet', models.CharField(max_length=300, verbose_name='Objet')),
                ('html', models.TextField(blank=True, null=True, verbose_name='Texte')),
                ('defaut', models.BooleanField(default=False, verbose_name='Modèle par défaut')),
            ],
            options={
                'verbose_name': "modèle d'email",
                'verbose_name_plural': "modèles d'emails",
                'db_table': 'modeles_emails',
            },
        ),
        migrations.CreateModel(
            name='ModeleRappel',
            fields=[
                ('idtexte', models.AutoField(db_column='IDtexte', primary_key=True, serialize=False, verbose_name='ID')),
                ('label', models.CharField(max_length=300, verbose_name='Nom')),
                ('couleur', models.CharField(max_length=100, verbose_name='Couleur')),
                ('retard_min', models.IntegerField(blank=True, null=True, verbose_name='Nbre de jours min')),
                ('retard_max', models.IntegerField(blank=True, null=True, verbose_name='Nbre de jours max')),
                ('titre', models.CharField(max_length=300, verbose_name='Titre')),
                ('html', models.TextField(blank=True, null=True, verbose_name='Texte')),
            ],
            options={
                'verbose_name': 'texte de rappels',
                'verbose_name_plural': 'textes de rappels',
                'db_table': 'textes_rappels',
            },
        ),
        migrations.CreateModel(
            name='ModeReglement',
            fields=[
                ('idmode', models.AutoField(db_column='IDmode', primary_key=True, serialize=False, verbose_name='ID')),
                ('label', models.CharField(max_length=200, verbose_name='Nom')),
                ('image', models.ImageField(blank=True, null=True, upload_to=core.models.get_uuid_path, verbose_name='Image')),
                ('numero_piece', models.CharField(blank=True, choices=[(None, 'Aucun'), ('ALPHA', 'Alphanumérique'), ('NUM', 'Numérique')], max_length=100, null=True, verbose_name='Numéro de pièce')),
                ('nbre_chiffres', models.IntegerField(blank=True, null=True, verbose_name='Nombre de caractères du numéro')),
                ('frais_gestion', models.CharField(blank=True, choices=[(None, 'Aucun'), ('LIBRE', 'Montant libre'), ('FIXE', 'Montant fixe'), ('PRORATA', 'Montant au prorata')], max_length=100, null=True, verbose_name='Frais de gestion')),
                ('frais_montant', models.DecimalField(blank=True, decimal_places=2, max_digits=10, null=True, verbose_name='Montant fixe des frais')),
                ('frais_pourcentage', models.DecimalField(blank=True, decimal_places=2, max_digits=10, null=True, verbose_name='Prorata des frais')),
                ('frais_arrondi', models.CharField(blank=True, choices=[('centimesup', 'Arrondi au centime supérieur'), ('centimeinf', 'Arrondi au centime inférieur')], default='centimesup', max_length=100, null=True, verbose_name="Méthode d'arrondi")),
                ('frais_label', models.CharField(blank=True, max_length=200, null=True, verbose_name='Label de la prestation')),
                ('type_comptable', models.CharField(blank=True, choices=[('banque', 'Banque'), ('caisse', 'Caisse')], default='banque', max_length=100, null=True, verbose_name='Type comptable')),
                ('code_compta', models.CharField(blank=True, max_length=200, null=True, verbose_name='Code comptable')),
            ],
            options={
                'verbose_name': 'mode de règlement',
                'verbose_name_plural': 'modes de règlement',
                'db_table': 'modes_reglements',
            },
        ),
        migrations.CreateModel(
            name='NiveauScolaire',
            fields=[
                ('idniveau', models.AutoField(db_column='IDniveau', primary_key=True, serialize=False, verbose_name='ID')),
                ('ordre', models.IntegerField(verbose_name='Ordre')),
                ('nom', models.CharField(max_length=300, verbose_name='Nom')),
                ('abrege', models.CharField(max_length=200, verbose_name='Abrégé')),
            ],
            options={
                'verbose_name': 'niveau scolaire',
                'verbose_name_plural': 'niveaux scolaires',
                'db_table': 'niveaux_scolaires',
            },
        ),
        migrations.CreateModel(
            name='NomTarif',
            fields=[
                ('idnom_tarif', models.AutoField(db_column='IDnom_tarif', primary_key=True, serialize=False, verbose_name='ID')),
                ('nom', models.CharField(max_length=300, verbose_name='Nom')),
                ('activite', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.activite', verbose_name='Activité')),
            ],
            options={
                'verbose_name': 'nom de tarif',
                'verbose_name_plural': 'noms de tarif',
                'db_table': 'noms_tarifs',
            },
        ),
        migrations.CreateModel(
            name='NoteCategorie',
            fields=[
                ('idcategorie', models.AutoField(db_column='IDcategorie', primary_key=True, serialize=False, verbose_name='ID')),
                ('nom', models.CharField(max_length=200, verbose_name='Nom')),
                ('priorite', models.CharField(choices=[('NORMALE', 'Normale'), ('HAUTE', 'Haute')], default='NORMALE', max_length=100, verbose_name='Priorité')),
                ('afficher_accueil', models.BooleanField(default=False, verbose_name="Afficher sur la page d'accueil")),
                ('afficher_liste', models.BooleanField(default=False, verbose_name='Afficher sur la liste des consommations')),
            ],
            options={
                'verbose_name': 'catégorie de note',
                'verbose_name_plural': 'catégories de note',
                'db_table': 'notes_categories',
            },
        ),
        migrations.CreateModel(
            name='Organisateur',
            fields=[
                ('idorganisateur', models.AutoField(db_column='IDorganisateur', primary_key=True, serialize=False, verbose_name='ID')),
                ('nom', models.CharField(max_length=200, verbose_name='Nom')),
                ('rue', models.CharField(blank=True, max_length=200, verbose_name='Rue')),
                ('cp', models.CharField(blank=True, max_length=50, verbose_name='Code postal')),
                ('ville', models.CharField(blank=True, max_length=200, verbose_name='Ville')),
                ('tel', models.CharField(blank=True, max_length=200, verbose_name='Téléphone')),
                ('fax', models.CharField(blank=True, max_length=200, verbose_name='Fax')),
                ('mail', models.EmailField(blank=True, max_length=300, verbose_name='Email')),
                ('site', models.CharField(blank=True, max_length=200, verbose_name='Site internet')),
                ('num_agrement', models.CharField(blank=True, max_length=200, verbose_name="Numéro d'agrément")),
                ('num_siret', models.CharField(blank=True, max_length=200, verbose_name='Numéro SIRET')),
                ('code_ape', models.CharField(blank=True, max_length=200, verbose_name='Code APE')),
                ('logo', django_resized.forms.ResizedImageField(blank=True, crop=None, force_format=None, keep_meta=True, null=True, quality=95, size=[500, 500], upload_to=core.models.get_uuid_path, verbose_name='Logo')),
                ('gps', models.CharField(blank=True, max_length=200, null=True, verbose_name='GPS')),
                ('logo_update', models.DateTimeField(blank=True, max_length=200, null=True, verbose_name='Date MAJ Logo')),
            ],
            options={
                'verbose_name': 'organisateur',
                'verbose_name_plural': 'organisateurs',
                'db_table': 'organisateur',
            },
        ),
        migrations.CreateModel(
            name='Payeur',
            fields=[
                ('idpayeur', models.AutoField(db_column='IDpayeur', primary_key=True, serialize=False, verbose_name='ID')),
                ('nom', models.CharField(max_length=300, verbose_name='Nom')),
                ('famille', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.famille', verbose_name='Famille')),
            ],
            options={
                'verbose_name': 'Payeur',
                'verbose_name_plural': 'Payeurs',
                'db_table': 'payeurs',
            },
        ),
        migrations.CreateModel(
            name='PesLot',
            fields=[
                ('idlot', models.AutoField(db_column='IDlot', primary_key=True, serialize=False, verbose_name='ID')),
                ('nom', models.CharField(help_text="Nom interne à l'application. Exemple : Restauration - Janvier 2021.", max_length=200, verbose_name="Nom de l'export")),
                ('observations', models.TextField(blank=True, null=True, verbose_name='Observations')),
                ('exercice', models.IntegerField(verbose_name='Exercice')),
                ('mois', models.IntegerField(choices=[(1, 'Janvier'), (2, 'Février'), (3, 'Mars'), (4, 'Avril'), (5, 'Mai'), (6, 'Juin'), (7, 'Juillet'), (8, 'Août'), (9, 'Septembre'), (10, 'Octobre'), (11, 'Novembre'), (12, 'Décembre')], verbose_name='Mois')),
                ('date_emission', models.DateField(verbose_name="Date d'émission")),
                ('date_prelevement', models.DateField(verbose_name='Date de prélèvement')),
                ('date_envoi', models.DateField(verbose_name="Date d'envoi")),
                ('id_bordereau', models.CharField(blank=True, max_length=200, null=True, verbose_name='Identifiant du bordereau')),
            ],
            options={
                'verbose_name': 'lot',
                'verbose_name_plural': 'lots',
                'db_table': 'pes_lots',
            },
        ),
        migrations.CreateModel(
            name='PieceJointe',
            fields=[
                ('idpiece_jointe', models.AutoField(db_column='IDpiece_jointe', primary_key=True, serialize=False, verbose_name='ID')),
                ('nom', models.CharField(max_length=300, verbose_name='Nom')),
                ('fichier', models.FileField(blank=True, null=True, upload_to=core.models.get_uuid_path, verbose_name='Fichier')),
            ],
            options={
                'verbose_name': 'pièce jointe',
                'verbose_name_plural': 'pièces jointes',
                'db_table': 'pieces_jointes',
            },
        ),
        migrations.CreateModel(
            name='PortailChamp',
            fields=[
                ('ichamp', models.AutoField(db_column='IDchamp', primary_key=True, serialize=False, verbose_name='ID')),
                ('page', models.CharField(blank=True, max_length=200, null=True, verbose_name='Page')),
                ('code', models.CharField(blank=True, max_length=200, null=True, verbose_name='Code')),
                ('representant', models.CharField(choices=[('AFFICHER', 'Afficher'), ('MASQUER', 'Masquer')], default='AFFICHER', max_length=100, verbose_name='Représentant')),
                ('enfant', models.CharField(choices=[('AFFICHER', 'Afficher'), ('MASQUER', 'Masquer')], default='AFFICHER', max_length=100, verbose_name='Enfant')),
                ('contact', models.CharField(choices=[('AFFICHER', 'Afficher'), ('MASQUER', 'Masquer')], default='AFFICHER', max_length=100, verbose_name='Contact')),
            ],
            options={
                'verbose_name': 'champ de portail',
                'verbose_name_plural': 'champs de portail',
                'db_table': 'portail_champs',
            },
        ),
        migrations.CreateModel(
            name='PortailParametre',
            fields=[
                ('idparametre', models.AutoField(db_column='IDparametre', primary_key=True, serialize=False, verbose_name='ID')),
                ('code', models.CharField(blank=True, max_length=200, null=True, verbose_name='Code')),
                ('valeur', models.TextField(blank=True, null=True, verbose_name='Valeur')),
            ],
            options={
                'verbose_name': 'paramètre de portail',
                'verbose_name_plural': 'paramètres de portail',
                'db_table': 'portail_parametres',
            },
        ),
        migrations.CreateModel(
            name='PrefixeFacture',
            fields=[
                ('idprefixe', models.AutoField(db_column='IDprefixe', primary_key=True, serialize=False, verbose_name='ID')),
                ('nom', models.CharField(max_length=200, verbose_name='Nom')),
                ('prefixe', models.CharField(max_length=200, verbose_name='Préfixe')),
            ],
            options={
                'verbose_name': 'préfixe de factures',
                'verbose_name_plural': 'préfixes de factures',
                'db_table': 'factures_prefixes',
            },
        ),
        migrations.CreateModel(
            name='Prestation',
            fields=[
                ('idprestation', models.AutoField(db_column='IDprestation', primary_key=True, serialize=False, verbose_name='ID')),
                ('date', models.DateField(verbose_name='Date')),
                ('categorie', models.CharField(choices=[('cotisation', 'Adhésion'), ('consommation', 'Consommation'), ('autre', 'Autre')], default='autre', max_length=100, verbose_name='Catégorie')),
                ('label', models.CharField(max_length=200, verbose_name='Label')),
                ('montant_initial', models.DecimalField(decimal_places=2, default=0.0, max_digits=10, verbose_name='Montant initial')),
                ('montant', models.DecimalField(decimal_places=2, default=0.0, max_digits=10, verbose_name='Montant')),
                ('forfait', models.IntegerField(blank=True, null=True, verbose_name='Type de forfait')),
                ('temps_facture', models.DurationField(blank=True, null=True, verbose_name='Temps facturé')),
                ('quantite', models.PositiveIntegerField(default=1, validators=[django.core.validators.MinValueValidator(1)], verbose_name='Quantité')),
                ('tva', models.DecimalField(blank=True, decimal_places=2, default=0.0, max_digits=10, null=True, verbose_name='Taux de TVA')),
                ('code_compta', models.CharField(blank=True, max_length=200, null=True, verbose_name='Code comptable')),
                ('date_valeur', models.DateField(auto_now_add=True, verbose_name='Date de valeur')),
                ('code_produit_local', models.CharField(blank=True, max_length=200, null=True, verbose_name='Code produit local')),
                ('activite', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='core.activite', verbose_name='Activité')),
                ('categorie_tarif', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='core.categorietarif', verbose_name='Catégorie de tarif')),
                ('facture', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='core.facture', verbose_name='Facture')),
                ('famille', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='core.famille', verbose_name='Famille')),
                ('individu', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='core.individu', verbose_name='Individu')),
            ],
            options={
                'verbose_name': 'prestation',
                'verbose_name_plural': 'prestations',
                'db_table': 'prestations',
            },
        ),
        migrations.CreateModel(
            name='QuestionnaireQuestion',
            fields=[
                ('idquestion', models.AutoField(db_column='IDquestion', primary_key=True, serialize=False, verbose_name='ID')),
                ('categorie', models.CharField(choices=[('individu', 'Individu'), ('famille', 'Famille'), ('categorie_produit', 'Catégorie de produits'), ('produit', 'Produit'), ('location', 'Location'), ('location_demande', 'Demande de location'), ('inscription', 'Inscription')], max_length=200, verbose_name='Catégorie')),
                ('ordre', models.IntegerField(verbose_name='Ordre')),
                ('visible', models.BooleanField(default=True, verbose_name='Visible sur le bureau')),
                ('label', models.CharField(max_length=250, verbose_name='Label')),
                ('controle', models.CharField(choices=[('ligne_texte', 'Ligne de texte'), ('bloc_texte', 'Bloc de texte multiligne'), ('entier', 'Nombre entier'), ('decimal', 'Nombre décimal'), ('montant', 'Montant'), ('liste_deroulante', 'Liste déroulante'), ('liste_coches', 'Sélection multiple'), ('case_coche', 'Case à cocher'), ('date', 'Date'), ('slider', 'Réglette'), ('couleur', 'Couleur'), ('codebarres', 'Code-barres')], max_length=200, verbose_name='contrôle')),
                ('choix', models.CharField(blank=True, help_text="Saisissez les choix possibles séparés par un point-virgule. Exemple : 'Bananes;Pommes;Poires'", max_length=500, null=True, verbose_name='Choix')),
                ('options', models.CharField(blank=True, max_length=250, null=True, verbose_name='Options')),
                ('visible_portail', models.BooleanField(default=False, verbose_name='Visible sur le portail')),
                ('texte_aide', models.CharField(blank=True, help_text="Vous pouvez saisir un texte d'aide qui apparaîtra sous le champ de saisie.", max_length=500, null=True, verbose_name="Texte d'aide")),
            ],
            options={
                'verbose_name': 'question de questionnaire',
                'verbose_name_plural': 'questions de questionnaires',
                'db_table': 'questionnaire_questions',
            },
        ),
        migrations.CreateModel(
            name='Regime',
            fields=[
                ('idregime', models.AutoField(db_column='IDregime', primary_key=True, serialize=False, verbose_name='ID')),
                ('nom', models.CharField(max_length=200, verbose_name='Nom')),
            ],
            options={
                'verbose_name': 'régime social',
                'verbose_name_plural': 'régimes sociaux',
                'db_table': 'regimes',
            },
        ),
        migrations.CreateModel(
            name='RegimeAlimentaire',
            fields=[
                ('idtype_regime', models.AutoField(db_column='IDtype_regime', primary_key=True, serialize=False, verbose_name='ID')),
                ('nom', models.CharField(max_length=300, verbose_name='Nom')),
            ],
            options={
                'verbose_name': 'régime alimentaire',
                'verbose_name_plural': 'régimes alimentaires',
                'db_table': 'regimes_alimentaires',
            },
        ),
        migrations.CreateModel(
            name='Reglement',
            fields=[
                ('idreglement', models.AutoField(db_column='IDreglement', primary_key=True, serialize=False, verbose_name='ID')),
                ('date', models.DateField(verbose_name='Date')),
                ('numero_piece', models.CharField(blank=True, max_length=200, null=True, verbose_name='N° pièce')),
                ('montant', models.DecimalField(decimal_places=2, default=0.0, max_digits=10, verbose_name='Montant')),
                ('observations', models.TextField(blank=True, null=True, verbose_name='Observations')),
                ('numero_quittancier', models.CharField(blank=True, max_length=100, null=True, verbose_name='N° quittancier')),
                ('date_differe', models.DateField(blank=True, null=True, verbose_name="Date d'encaissement différé")),
                ('encaissement_attente', models.BooleanField(default=False, verbose_name='Encaissement en attente')),
                ('date_saisie', models.DateField(auto_now_add=True, verbose_name='Date de création')),
                ('avis_depot', models.DateField(blank=True, null=True, verbose_name="Date de l'avis d'encaissement")),
                ('compte', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='core.comptebancaire', verbose_name='Compte bancaire')),
                ('depot', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='core.depot', verbose_name='Dépôt')),
                ('emetteur', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='core.emetteur', verbose_name='Emetteur')),
                ('famille', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='core.famille', verbose_name='Famille')),
                ('mode', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='core.modereglement', verbose_name='Mode de règlement')),
                ('payeur', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='core.payeur', verbose_name='Payeur')),
            ],
            options={
                'verbose_name': 'Règlement',
                'verbose_name_plural': 'Règlements',
                'db_table': 'reglements',
            },
        ),
        migrations.CreateModel(
            name='Restaurateur',
            fields=[
                ('idrestaurateur', models.AutoField(db_column='IDrestaurateur', primary_key=True, serialize=False, verbose_name='ID')),
                ('nom', models.CharField(max_length=300, verbose_name='Nom')),
                ('rue', models.CharField(blank=True, max_length=200, null=True, verbose_name='Rue')),
                ('cp', models.CharField(blank=True, max_length=50, null=True, verbose_name='Code postal')),
                ('ville', models.CharField(blank=True, max_length=200, null=True, verbose_name='Ville')),
                ('tel', models.CharField(blank=True, max_length=200, null=True, verbose_name='Téléphone')),
                ('fax', models.CharField(blank=True, max_length=200, null=True, verbose_name='Fax')),
                ('mail', models.EmailField(blank=True, max_length=300, null=True, verbose_name='Email')),
            ],
            options={
                'verbose_name': 'restaurateur',
                'verbose_name_plural': 'restaurateurs',
                'db_table': 'restaurateurs',
            },
        ),
        migrations.CreateModel(
            name='Secteur',
            fields=[
                ('idsecteur', models.AutoField(db_column='IDsecteur', primary_key=True, serialize=False, verbose_name='ID')),
                ('nom', models.CharField(max_length=200, verbose_name='Nom')),
            ],
            options={
                'verbose_name': 'secteur géographique',
                'verbose_name_plural': 'secteurs géographiques',
                'db_table': 'secteurs',
            },
        ),
        migrations.CreateModel(
            name='Structure',
            fields=[
                ('idstructure', models.AutoField(db_column='IDstructure', primary_key=True, serialize=False, verbose_name='ID')),
                ('nom', models.CharField(max_length=200, verbose_name='Nom')),
                ('rue', models.CharField(blank=True, max_length=200, verbose_name='Rue')),
                ('cp', models.CharField(blank=True, max_length=50, verbose_name='Code postal')),
                ('ville', models.CharField(blank=True, max_length=200, verbose_name='Ville')),
                ('tel', models.CharField(blank=True, max_length=200, verbose_name='Téléphone')),
                ('fax', models.CharField(blank=True, max_length=200, verbose_name='Fax')),
                ('mail', models.EmailField(blank=True, max_length=300, verbose_name='Email')),
                ('site', models.CharField(blank=True, max_length=200, verbose_name='Site internet')),
                ('logo', django_resized.forms.ResizedImageField(blank=True, crop=None, force_format=None, keep_meta=True, null=True, quality=95, size=[500, 500], upload_to=core.models.get_uuid_path, verbose_name='Logo')),
                ('gps', models.CharField(blank=True, max_length=200, null=True, verbose_name='GPS')),
                ('logo_update', models.DateTimeField(blank=True, max_length=200, null=True, verbose_name='Date MAJ Logo')),
            ],
            options={
                'verbose_name': 'structure',
                'verbose_name_plural': 'structures',
                'db_table': 'structures',
            },
        ),
        migrations.CreateModel(
            name='Tarif',
            fields=[
                ('idtarif', models.AutoField(db_column='IDtarif', primary_key=True, serialize=False, verbose_name='ID')),
                ('type', models.CharField(choices=[('JOURN', 'Prestation journalière'), ('FORFAIT', 'Forfait daté'), ('CREDIT', 'Forfait crédit'), ('BAREME', 'Barême de contrat'), ('EVENEMENT', 'Evénement')], default='JOURN', max_length=100, verbose_name='Type')),
                ('date_debut', models.DateField(verbose_name='Date de début')),
                ('date_fin', models.DateField(blank=True, null=True, verbose_name='Date de fin')),
                ('forfait_saisie_manuelle', models.BooleanField(default=False, verbose_name='Ce forfait peut être saisi manuellement depuis la grille des consommations')),
                ('forfait_saisie_auto', models.BooleanField(default=False, verbose_name="Ce forfait est automatiquement créé lors de l'inscription à l'activité")),
                ('forfait_suppression_auto', models.BooleanField(default=False, verbose_name="Ce forfait ne peut être supprimé que lors de la désinscription à l'activité")),
                ('methode', models.CharField(choices=[('montant_unique', 'Montant unique'), ('qf', 'En fonction du quotient familial'), ('horaire_montant_unique', "Montant unique en fonction d'une tranche horaire"), ('horaire_qf', "En fonction d'une tranche horaire et du quotient familial"), ('duree_montant_unique', "Montant unique en fonction d'une durée"), ('duree_qf', "En fonction d'une durée et du quotient familial"), ('montant_unique_date', 'Montant unique en fonction de la date'), ('qf_date', 'En fonction de la date et du quotient familial'), ('montant_evenement', "Montant de l'évènement"), ('duree_coeff_montant_unique', "Montant au prorata d'une durée"), ('duree_coeff_qf', "Montant au prorata d'une durée et selon le quotient familial"), ('taux_montant_unique', "Par taux d'effort"), ('taux_qf', "Par taux d'effort et par tranches de QF"), ('taux_date', "Par taux d'effort et par date"), ('duree_taux_montant_unique', "Par taux d'effort et en fonction d'une durée"), ('duree_taux_qf', "Par taux d'effort et par tranches de QF en fonction d'une durée")], default='montant_unique', max_length=200, verbose_name='Méthode')),
                ('forfait_duree', models.CharField(blank=True, max_length=100, null=True, verbose_name='Durée de validité par défaut')),
                ('forfait_beneficiaire', models.CharField(blank=True, choices=[('individu', 'Forfait individuel'), ('famille', 'Forfait familial')], default='individu', max_length=50, null=True, verbose_name='Type de forfait')),
                ('description', models.CharField(blank=True, max_length=400, null=True, verbose_name='Description')),
                ('jours_scolaires', multiselectfield.db.fields.MultiSelectField(blank=True, choices=[(0, 'Lundi'), (1, 'Mardi'), (2, 'Mercredi'), (3, 'Jeudi'), (4, 'Vendredi'), (5, 'Samedi'), (6, 'Dimanche')], max_length=100, null=True, verbose_name='Jours sur les périodes scolaires')),
                ('jours_vacances', multiselectfield.db.fields.MultiSelectField(blank=True, choices=[(0, 'Lundi'), (1, 'Mardi'), (2, 'Mercredi'), (3, 'Jeudi'), (4, 'Vendredi'), (5, 'Samedi'), (6, 'Dimanche')], max_length=100, null=True, verbose_name='Jours sur les périodes de vacances')),
                ('options', models.CharField(blank=True, max_length=450, null=True, verbose_name='Options')),
                ('observations', models.CharField(blank=True, max_length=400, null=True, verbose_name='Observations')),
                ('tva', models.DecimalField(blank=True, decimal_places=2, max_digits=10, null=True, verbose_name='Taux TVA')),
                ('code_compta', models.CharField(blank=True, max_length=200, null=True, verbose_name='Code comptable')),
                ('date_facturation', models.CharField(blank=True, max_length=200, null=True, verbose_name='Date de facturation')),
                ('etats', multiselectfield.db.fields.MultiSelectField(blank=True, choices=[('reservation', 'Réservation'), ('present', 'Présent'), ('absenti', 'Absence injustifiée'), ('absentj', 'Absence justifiée'), ('attente', 'Attente'), ('refus', 'Refus')], max_length=200, null=True, verbose_name='Etats conditionnels')),
                ('label_prestation', models.CharField(blank=True, max_length=300, null=True, verbose_name='Label de la prestation')),
                ('activite', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.activite', verbose_name='Activité')),
                ('caisses', models.ManyToManyField(blank=True, to='core.Caisse', verbose_name='Caisses')),
                ('categories_tarifs', models.ManyToManyField(to='core.CategorieTarif', verbose_name='Catégories de tarifs')),
            ],
            options={
                'verbose_name': 'tarif',
                'verbose_name_plural': 'tarifs',
                'db_table': 'tarifs',
            },
        ),
        migrations.CreateModel(
            name='TypeConsentement',
            fields=[
                ('idtype_consentement', models.AutoField(db_column='IDtype_consentement', primary_key=True, serialize=False, verbose_name='ID')),
                ('nom', models.CharField(help_text="Il s'agit généralement d'un nom du document. Exemple : Règlement intérieur de la structure...", max_length=200, verbose_name='Nom')),
                ('structure', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='core.structure', verbose_name='Structure')),
            ],
            options={
                'verbose_name': 'type de consentement',
                'verbose_name_plural': 'types de consentements',
                'db_table': 'types_consentements',
            },
        ),
        migrations.CreateModel(
            name='TypeCotisation',
            fields=[
                ('idtype_cotisation', models.AutoField(db_column='IDtype_cotisation', primary_key=True, serialize=False, verbose_name='ID')),
                ('nom', models.CharField(max_length=200, verbose_name='Nom')),
                ('type', models.CharField(choices=[('famille', 'Familiale'), ('individu', 'Individuelle')], default='famille', max_length=100, verbose_name='Type')),
                ('carte', models.BooleanField(default=False, verbose_name="Carte d'adhérent")),
                ('code_comptable', models.CharField(blank=True, max_length=200, null=True, verbose_name='Code comptable')),
                ('code_produit_local', models.CharField(blank=True, max_length=200, null=True, verbose_name='Code produit local')),
                ('defaut', models.BooleanField(default=False, verbose_name='Type par défaut')),
                ('structure', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='core.structure', verbose_name='Structure')),
            ],
            options={
                'verbose_name': "type d'adhésion",
                'verbose_name_plural': "types d'adhésions",
                'db_table': 'types_cotisations',
            },
        ),
        migrations.CreateModel(
            name='TypeMaladie',
            fields=[
                ('idtype_maladie', models.AutoField(db_column='IDtype_maladie', primary_key=True, serialize=False, verbose_name='ID')),
                ('nom', models.CharField(max_length=200, verbose_name='Nom')),
                ('vaccin_obligatoire', models.BooleanField(default=False, help_text='Cochez cette case si la vaccination est obligatoire pour cette maladie.', verbose_name='Vaccination obligatoire')),
                ('vaccin_date_naiss_min', models.DateField(blank=True, help_text="Si la vaccination n'est obligatoire que pour les individus nés à partir d'une date donnée, saisissez-là ici.", null=True, verbose_name='Date de naissance min.')),
            ],
            options={
                'verbose_name': 'maladie',
                'verbose_name_plural': 'maladies',
                'db_table': 'types_maladies',
            },
        ),
        migrations.CreateModel(
            name='TypeQuotient',
            fields=[
                ('idtype_quotient', models.AutoField(db_column='IDtype_quotient', primary_key=True, serialize=False, verbose_name='ID')),
                ('nom', models.CharField(max_length=200, verbose_name='Nom')),
            ],
            options={
                'verbose_name': 'type de quotient',
                'verbose_name_plural': 'types de quotient',
                'db_table': 'types_quotients',
            },
        ),
        migrations.CreateModel(
            name='TypeSieste',
            fields=[
                ('idtype_sieste', models.AutoField(db_column='IDtype_sieste', primary_key=True, serialize=False, verbose_name='ID')),
                ('nom', models.CharField(max_length=200, verbose_name='Nom')),
            ],
            options={
                'verbose_name': 'type de sieste',
                'verbose_name_plural': 'types de sieste',
                'db_table': 'types_sieste',
            },
        ),
        migrations.CreateModel(
            name='TypeVaccin',
            fields=[
                ('idtype_vaccin', models.AutoField(db_column='IDtype_vaccin', primary_key=True, serialize=False, verbose_name='ID')),
                ('nom', models.CharField(max_length=200, verbose_name='Nom')),
                ('duree_validite', models.CharField(blank=True, max_length=100, null=True, verbose_name='Durée de validité')),
                ('types_maladies', models.ManyToManyField(related_name='vaccin_maladies', to='core.TypeMaladie')),
            ],
            options={
                'verbose_name': 'vaccin',
                'verbose_name_plural': 'vaccins',
                'db_table': 'types_vaccins',
            },
        ),
        migrations.CreateModel(
            name='Unite',
            fields=[
                ('idunite', models.AutoField(db_column='IDunite', primary_key=True, serialize=False, verbose_name='ID')),
                ('ordre', models.IntegerField(verbose_name='Ordre')),
                ('nom', models.CharField(max_length=200, verbose_name='Nom')),
                ('abrege', models.CharField(max_length=200, verbose_name='Abrégé')),
                ('type', models.CharField(choices=[('Unitaire', 'Unitaire'), ('Horaire', 'Horaire'), ('Quantite', 'Quantité'), ('Multihoraires', 'Multihoraires'), ('Evenement', 'Evénementiel')], default='Unitaire', max_length=100, verbose_name='Type')),
                ('heure_debut', models.TimeField(blank=True, null=True, verbose_name='Heure de début')),
                ('heure_debut_fixe', models.BooleanField(default=False, verbose_name='Heure de début fixe')),
                ('heure_fin', models.TimeField(blank=True, null=True, verbose_name='Heure de fin')),
                ('heure_fin_fixe', models.BooleanField(default=False, verbose_name='Heure de fin fixe')),
                ('repas', models.BooleanField(default=False, verbose_name='Repas inclus')),
                ('date_debut', models.DateField(blank=True, null=True, verbose_name='Date de début de validité')),
                ('date_fin', models.DateField(blank=True, null=True, verbose_name='Date de fin de validité')),
                ('touche_raccourci', models.CharField(blank=True, choices=[('WXK_TAB', 'Tabulation'), ('WXK_SHIFT', 'Shift'), ('WXK_ALT', 'Alt'), ('WXK_CONTROL', 'Control'), ('WXK_SPACE', 'Barre espace'), ('WXK_F1', 'F1'), ('WXK_F2', 'F2'), ('WXK_F3', 'F3'), ('WXK_F4', 'F4'), ('WXK_F5', 'F5'), ('WXK_F6', 'F6'), ('WXK_F7', 'F7'), ('WXK_F8', 'F8'), ('WXK_F9', 'F9'), ('WXK_F10', 'F10'), ('WXK_F11', 'F11'), ('WXK_F12', 'F12')], max_length=50, null=True, verbose_name='Touche raccourci')),
                ('largeur', models.IntegerField(default=50, verbose_name='Largeur de la colonne')),
                ('coeff', models.CharField(blank=True, max_length=200, null=True, verbose_name="Coefficient pour l'état global")),
                ('autogen_active', models.BooleanField(default=False, verbose_name="Activer l'auto-génération")),
                ('autogen_conditions', models.CharField(blank=True, max_length=400, null=True, verbose_name='Conditions de la génération')),
                ('autogen_parametres', models.CharField(blank=True, max_length=400, null=True, verbose_name='Paramètres de la génération')),
                ('activite', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.activite', verbose_name='Activité')),
                ('groupes', models.ManyToManyField(blank=True, to='core.Groupe')),
                ('incompatibilites', models.ManyToManyField(blank=True, related_name='_core_unite_incompatibilites_+', to='core.Unite', verbose_name='Incompatibilités')),
                ('restaurateur', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='core.restaurateur', verbose_name='Restaurateur')),
            ],
            options={
                'verbose_name': 'unité de consommation',
                'verbose_name_plural': 'unités de consommation',
                'db_table': 'unites',
            },
        ),
        migrations.CreateModel(
            name='Vacance',
            fields=[
                ('idvacance', models.AutoField(db_column='IDvacance', primary_key=True, serialize=False, verbose_name='ID')),
                ('nom', models.CharField(choices=[('Février', 'Février'), ('Pâques', 'Pâques'), ('Eté', 'Eté'), ('Toussaint', 'Toussaint'), ('Noël', 'Noël')], max_length=200, verbose_name='Nom')),
                ('annee', models.IntegerField(verbose_name='Année')),
                ('date_debut', models.DateField(verbose_name='Date de début')),
                ('date_fin', models.DateField(verbose_name='Date de fin')),
            ],
            options={
                'verbose_name': 'période de vacance',
                'verbose_name_plural': 'périodes de vacances',
                'db_table': 'vacances',
            },
        ),
        migrations.CreateModel(
            name='Ventilation',
            fields=[
                ('idventilation', models.AutoField(db_column='IDventilation', primary_key=True, serialize=False, verbose_name='ID')),
                ('montant', models.DecimalField(decimal_places=2, default=0.0, max_digits=10, verbose_name='Montant')),
                ('famille', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='core.famille', verbose_name='Famille')),
                ('prestation', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.prestation', verbose_name='Prestation')),
                ('reglement', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.reglement', verbose_name='Règlement')),
            ],
            options={
                'verbose_name': 'Ventilation',
                'verbose_name_plural': 'Ventilations',
                'db_table': 'ventilation',
            },
        ),
        migrations.CreateModel(
            name='Vaccin',
            fields=[
                ('idvaccin', models.AutoField(db_column='IDvaccin', primary_key=True, serialize=False, verbose_name='ID')),
                ('date', models.DateField(verbose_name='Date de vaccination')),
                ('individu', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.individu', verbose_name='Individu')),
                ('type_vaccin', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='core.typevaccin', verbose_name='Type de vaccin')),
            ],
            options={
                'verbose_name': 'vaccin',
                'verbose_name_plural': 'vaccins',
                'db_table': 'vaccins',
            },
        ),
        migrations.CreateModel(
            name='UniteRemplissage',
            fields=[
                ('idunite_remplissage', models.AutoField(db_column='IDunite_remplissage', primary_key=True, serialize=False, verbose_name='ID')),
                ('ordre', models.IntegerField(verbose_name='Ordre')),
                ('nom', models.CharField(max_length=200, verbose_name='Nom')),
                ('abrege', models.CharField(max_length=200, verbose_name='Abrégé')),
                ('date_debut', models.DateField(blank=True, null=True, verbose_name='Date de début de validité')),
                ('date_fin', models.DateField(blank=True, null=True, verbose_name='Date de fin de validité')),
                ('seuil_alerte', models.IntegerField(default=5, verbose_name="Seuil d'alerte")),
                ('heure_min', models.TimeField(blank=True, null=True, verbose_name='Heure min')),
                ('heure_max', models.TimeField(blank=True, null=True, verbose_name='Heure max')),
                ('afficher_page_accueil', models.BooleanField(default=True, verbose_name="Afficher dans les effectifs de la page d'accueil")),
                ('afficher_grille_conso', models.BooleanField(default=True, verbose_name='Afficher dans la grille des consommations')),
                ('largeur', models.IntegerField(blank=True, null=True, verbose_name='Largeur de la colonne')),
                ('activite', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.activite', verbose_name='Activité')),
                ('unites', models.ManyToManyField(to='core.Unite', verbose_name='Unités associées')),
            ],
            options={
                'verbose_name': 'unité de remplissage',
                'verbose_name_plural': 'unités de remplissage',
                'db_table': 'unites_remplissage',
            },
        ),
        migrations.CreateModel(
            name='UniteCotisation',
            fields=[
                ('idunite_cotisation', models.AutoField(db_column='IDunite_cotisation', primary_key=True, serialize=False, verbose_name='ID')),
                ('nom', models.CharField(max_length=200, verbose_name='Nom')),
                ('date_debut', models.DateField(blank=True, null=True, verbose_name='Date de début')),
                ('date_fin', models.DateField(blank=True, null=True, verbose_name='Date de fin')),
                ('duree', models.CharField(blank=True, max_length=200, null=True, verbose_name='Durée')),
                ('montant', models.DecimalField(decimal_places=2, default=0.0, max_digits=10, verbose_name='Montant')),
                ('label_prestation', models.CharField(blank=True, max_length=200, null=True, verbose_name='Label de la prestation')),
                ('defaut', models.BooleanField(default=False, verbose_name='Unité par défaut')),
                ('type_cotisation', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='core.typecotisation', verbose_name="Type d'adhésion")),
            ],
            options={
                'verbose_name': "unité d'adhésion",
                'verbose_name_plural': "unités d'adhésion",
                'db_table': 'unites_cotisations',
            },
        ),
        migrations.CreateModel(
            name='UniteConsentement',
            fields=[
                ('idunite_consentement', models.AutoField(db_column='IDunite_consentement', primary_key=True, serialize=False, verbose_name='ID')),
                ('date_debut', models.DateField(help_text="Saisissez la date de début d'application de cette unité. Par défaut la date du jour.", verbose_name='Date de début')),
                ('date_fin', models.DateField(blank=True, help_text="La date de fin n'est généralement pas utilisée sauf si le document n'est applicable que sur une période donnée.", null=True, verbose_name='Date de fin')),
                ('document', models.FileField(blank=True, help_text='Privilégiez un document au format PDF.', null=True, upload_to=core.models.get_uuid_path, verbose_name='Document')),
                ('type_consentement', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='core.typeconsentement', verbose_name='type de consentement')),
            ],
            options={
                'verbose_name': 'unité de consentement',
                'verbose_name_plural': 'unités de consentements',
                'db_table': 'unites_consentements',
            },
        ),
        migrations.CreateModel(
            name='TypePiece',
            fields=[
                ('idtype_piece', models.AutoField(db_column='IDtype_piece', primary_key=True, serialize=False, verbose_name='ID')),
                ('nom', models.CharField(max_length=200, verbose_name='Nom')),
                ('public', models.CharField(choices=[('individu', 'Individu'), ('famille', 'Famille')], max_length=50, verbose_name='Public')),
                ('duree_validite', models.CharField(blank=True, max_length=100, null=True, verbose_name='Durée de validité')),
                ('valide_rattachement', models.BooleanField(default=False, verbose_name='Rattachement valide')),
                ('structure', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='core.structure', verbose_name='Structure')),
            ],
            options={
                'verbose_name': 'type de pièce',
                'verbose_name_plural': 'types de pièce',
                'db_table': 'types_pieces',
            },
        ),
        migrations.CreateModel(
            name='TypeGroupeActivite',
            fields=[
                ('idtype_groupe_activite', models.AutoField(db_column='IDtype_groupe_activite', primary_key=True, serialize=False, verbose_name='ID')),
                ('nom', models.CharField(max_length=200, verbose_name='Nom')),
                ('observations', models.CharField(blank=True, max_length=300, null=True, verbose_name='Observations')),
                ('structure', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='core.structure', verbose_name='Structure')),
            ],
            options={
                'verbose_name': "groupe d'activités",
                'verbose_name_plural': "groupes d'activités",
                'db_table': 'types_groupes_activites',
            },
        ),
        migrations.CreateModel(
            name='TarifLigne',
            fields=[
                ('idligne', models.AutoField(db_column='IDligne', primary_key=True, serialize=False, verbose_name='ID')),
                ('code', models.CharField(blank=True, choices=[('montant_unique', 'Montant unique'), ('qf', 'En fonction du quotient familial'), ('horaire_montant_unique', "Montant unique en fonction d'une tranche horaire"), ('horaire_qf', "En fonction d'une tranche horaire et du quotient familial"), ('duree_montant_unique', "Montant unique en fonction d'une durée"), ('duree_qf', "En fonction d'une durée et du quotient familial"), ('montant_unique_date', 'Montant unique en fonction de la date'), ('qf_date', 'En fonction de la date et du quotient familial'), ('montant_evenement', "Montant de l'évènement"), ('duree_coeff_montant_unique', "Montant au prorata d'une durée"), ('duree_coeff_qf', "Montant au prorata d'une durée et selon le quotient familial"), ('taux_montant_unique', "Par taux d'effort"), ('taux_qf', "Par taux d'effort et par tranches de QF"), ('taux_date', "Par taux d'effort et par date"), ('duree_taux_montant_unique', "Par taux d'effort et en fonction d'une durée"), ('duree_taux_qf', "Par taux d'effort et par tranches de QF en fonction d'une durée")], default='montant_unique', max_length=200, null=True, verbose_name='Méthode')),
                ('num_ligne', models.IntegerField(blank=True, null=True, verbose_name='Numéro de la ligne')),
                ('tranche', models.CharField(blank=True, max_length=50, null=True, verbose_name='Nom de la tranche')),
                ('qf_min', models.DecimalField(blank=True, decimal_places=2, default=0.0, max_digits=10, null=True, verbose_name='QF min')),
                ('qf_max', models.DecimalField(blank=True, decimal_places=2, default=0.0, max_digits=10, null=True, verbose_name='QF max')),
                ('montant_unique', models.DecimalField(blank=True, decimal_places=2, default=0.0, max_digits=10, null=True, verbose_name='Montant unique')),
                ('montant_enfant_1', models.DecimalField(blank=True, decimal_places=2, default=0.0, max_digits=10, null=True, verbose_name='Montant enfant 1')),
                ('montant_enfant_2', models.DecimalField(blank=True, decimal_places=2, default=0.0, max_digits=10, null=True, verbose_name='Montant enfant 2')),
                ('montant_enfant_3', models.DecimalField(blank=True, decimal_places=2, default=0.0, max_digits=10, null=True, verbose_name='Montant enfant 3')),
                ('montant_enfant_4', models.DecimalField(blank=True, decimal_places=2, default=0.0, max_digits=10, null=True, verbose_name='Montant enfant 4')),
                ('montant_enfant_5', models.DecimalField(blank=True, decimal_places=2, default=0.0, max_digits=10, null=True, verbose_name='Montant enfant 5')),
                ('montant_enfant_6', models.DecimalField(blank=True, decimal_places=2, default=0.0, max_digits=10, null=True, verbose_name='Montant enfant 6')),
                ('nbre_enfants', models.IntegerField(blank=True, null=True, verbose_name="Nombre d'enfants pour le calcul par taux d'effort")),
                ('coefficient', models.DecimalField(blank=True, decimal_places=2, default=0.0, max_digits=10, null=True, verbose_name='Coefficient')),
                ('montant_min', models.DecimalField(blank=True, decimal_places=2, default=0.0, max_digits=10, null=True, verbose_name='Montant min')),
                ('montant_max', models.DecimalField(blank=True, decimal_places=2, default=0.0, max_digits=10, null=True, verbose_name='Montant max')),
                ('heure_debut_min', models.TimeField(blank=True, null=True, verbose_name='Heure début min')),
                ('heure_debut_max', models.TimeField(blank=True, null=True, verbose_name='Heure début min')),
                ('heure_fin_min', models.TimeField(blank=True, null=True, verbose_name='Heure fin min')),
                ('heure_fin_max', models.TimeField(blank=True, null=True, verbose_name='Heure fin max')),
                ('duree_min', models.TimeField(blank=True, null=True, verbose_name='Durée min')),
                ('duree_max', models.TimeField(blank=True, null=True, verbose_name='Durée max')),
                ('date', models.DateField(blank=True, null=True, verbose_name='Date conditionnelle')),
                ('label', models.CharField(blank=True, max_length=300, null=True, verbose_name='Label personnalisé')),
                ('temps_facture', models.TimeField(blank=True, null=True, verbose_name='Temps facturé')),
                ('unite_horaire', models.TimeField(blank=True, null=True, verbose_name='Unité horaire')),
                ('duree_seuil', models.TimeField(blank=True, null=True, verbose_name='Durée seuil')),
                ('duree_plafond', models.TimeField(blank=True, null=True, verbose_name='Durée plafond')),
                ('taux', models.DecimalField(blank=True, decimal_places=2, default=0.0, max_digits=10, null=True, verbose_name="Taux d'effort")),
                ('ajustement', models.DecimalField(blank=True, decimal_places=2, default=0.0, max_digits=10, null=True, verbose_name='Ajustement')),
                ('montant_questionnaire', models.CharField(blank=True, max_length=100, null=True, verbose_name='Montant questionnaire')),
                ('revenu_min', models.DecimalField(blank=True, decimal_places=2, default=0.0, max_digits=10, null=True, verbose_name='Montant revenu min')),
                ('revenu_max', models.DecimalField(blank=True, decimal_places=2, default=0.0, max_digits=10, null=True, verbose_name='Montant revenu max')),
                ('activite', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='core.activite', verbose_name='Activité')),
                ('tarif', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='core.tarif', verbose_name='Tarif')),
            ],
            options={
                'verbose_name': 'ligne de tarif',
                'verbose_name_plural': 'lignes de tarif',
                'db_table': 'tarifs_lignes',
            },
        ),
        migrations.AddField(
            model_name='tarif',
            name='cotisations',
            field=models.ManyToManyField(blank=True, to='core.TypeCotisation', verbose_name='Cotisations'),
        ),
        migrations.AddField(
            model_name='tarif',
            name='evenement',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='core.evenement', verbose_name='Evénement'),
        ),
        migrations.AddField(
            model_name='tarif',
            name='groupes',
            field=models.ManyToManyField(blank=True, to='core.Groupe', verbose_name='Groupes'),
        ),
        migrations.AddField(
            model_name='tarif',
            name='nom_tarif',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='core.nomtarif', verbose_name='Nom de tarif'),
        ),
        migrations.AddField(
            model_name='tarif',
            name='type_quotient',
            field=models.ForeignKey(blank=True, help_text='Sélectionnez un type de quotient familial ou laissez le champ vide pour tenir compte de tous les types de quotients.', null=True, on_delete=django.db.models.deletion.CASCADE, to='core.typequotient', verbose_name='Type de QF'),
        ),
        migrations.CreateModel(
            name='Scolarite',
            fields=[
                ('idscolarite', models.AutoField(db_column='IDscolarite', primary_key=True, serialize=False, verbose_name='ID')),
                ('date_debut', models.DateField(verbose_name='Date de début')),
                ('date_fin', models.DateField(verbose_name='Date de fin')),
                ('classe', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='core.classe', verbose_name='Classe')),
                ('ecole', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='core.ecole', verbose_name='Ecole')),
                ('individu', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.individu', verbose_name='Individu')),
                ('niveau', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='core.niveauscolaire', verbose_name='Niveau')),
            ],
            options={
                'verbose_name': 'étape de scolarité',
                'verbose_name_plural': 'étapes de scolarité',
                'db_table': 'scolarite',
            },
        ),
        migrations.CreateModel(
            name='ResponsableActivite',
            fields=[
                ('idresponsable', models.AutoField(db_column='IDresponsable', primary_key=True, serialize=False, verbose_name='ID')),
                ('sexe', models.CharField(choices=[('H', 'Homme'), ('F', 'Femme')], default='H', max_length=50, verbose_name='Sexe')),
                ('nom', models.CharField(max_length=300, verbose_name='Nom et prénom')),
                ('fonction', models.CharField(blank=True, max_length=300, null=True, verbose_name='Fonction')),
                ('defaut', models.BooleanField(default=False, verbose_name='Responsable par défaut')),
                ('activite', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.activite', verbose_name='Activité')),
            ],
            options={
                'verbose_name': "responsable d'activité",
                'verbose_name_plural': "responsables d'activité",
                'db_table': 'responsables_activite',
            },
        ),
        migrations.CreateModel(
            name='Remplissage',
            fields=[
                ('idremplissage', models.AutoField(db_column='IDremplissage', primary_key=True, serialize=False, verbose_name='ID')),
                ('date', models.DateField(verbose_name='Date')),
                ('places', models.IntegerField(blank=True, null=True, verbose_name='Nombre de places')),
                ('activite', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.activite', verbose_name='Activité')),
                ('groupe', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='core.groupe', verbose_name='Groupe')),
                ('unite_remplissage', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.uniteremplissage', verbose_name='Unité de remplissage')),
            ],
            options={
                'verbose_name': 'remplissage',
                'verbose_name_plural': 'remplissages',
                'db_table': 'remplissage',
            },
        ),
        migrations.CreateModel(
            name='Recu',
            fields=[
                ('idrecu', models.AutoField(db_column='IDrecu', primary_key=True, serialize=False, verbose_name='ID')),
                ('numero', models.IntegerField(verbose_name='Numéro')),
                ('date_edition', models.DateField(verbose_name="Date d'édition")),
                ('famille', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='core.famille', verbose_name='Famille')),
                ('reglement', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='core.reglement', verbose_name='Règlement')),
            ],
            options={
                'verbose_name': 'Reçu de règlement',
                'verbose_name_plural': 'Reçus de règlements',
                'db_table': 'recus',
            },
        ),
        migrations.CreateModel(
            name='Rattachement',
            fields=[
                ('idrattachement', models.AutoField(db_column='IDrattachement', primary_key=True, serialize=False, verbose_name='ID')),
                ('categorie', models.IntegerField(choices=[(1, 'Représentant'), (2, 'Enfant'), (3, 'Contact')], db_column='Catégorie', default=1)),
                ('titulaire', models.BooleanField(default=False, verbose_name='Titulaire du dossier')),
                ('certification_date', models.DateTimeField(blank=True, null=True, verbose_name='Date de certification')),
                ('famille', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='core.famille', verbose_name='Famille')),
                ('individu', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='core.individu', verbose_name='Individu')),
            ],
            options={
                'verbose_name': 'rattachement',
                'verbose_name_plural': 'rattachements',
                'db_table': 'rattachements',
            },
        ),
        migrations.CreateModel(
            name='Rappel',
            fields=[
                ('idrappel', models.AutoField(db_column='IDrappel', primary_key=True, serialize=False, verbose_name='ID')),
                ('numero', models.IntegerField(verbose_name='Numéro')),
                ('date_edition', models.DateField(verbose_name='Date')),
                ('activites', models.CharField(blank=True, max_length=200, null=True, verbose_name='Activités associées')),
                ('date_reference', models.DateField(verbose_name='Date de référence')),
                ('solde', models.DecimalField(decimal_places=2, default=0.0, max_digits=10, verbose_name='Solde')),
                ('prestations', models.CharField(blank=True, max_length=200, null=True, verbose_name='Types de prestations')),
                ('date_min', models.DateField(blank=True, null=True, verbose_name='Date de début')),
                ('date_max', models.DateField(blank=True, null=True, verbose_name='Date de fin')),
                ('famille', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='core.famille', verbose_name='Famille')),
                ('lot', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='core.lotrappels', verbose_name='Lot de rappels')),
                ('modele', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='core.modelerappel', verbose_name='Modèle de rappel')),
            ],
            options={
                'verbose_name': 'rappel',
                'verbose_name_plural': 'rappels',
                'db_table': 'rappels',
            },
        ),
        migrations.CreateModel(
            name='Quotient',
            fields=[
                ('idquotient', models.AutoField(db_column='IDquotient', primary_key=True, serialize=False, verbose_name='ID')),
                ('date_debut', models.DateField(verbose_name='Date de début')),
                ('date_fin', models.DateField(verbose_name='Date de fin')),
                ('quotient', models.DecimalField(blank=True, decimal_places=2, default=0.0, max_digits=10, null=True, verbose_name='Quotient')),
                ('revenu', models.DecimalField(blank=True, decimal_places=2, default=0.0, max_digits=10, null=True, verbose_name='Revenu')),
                ('observations', models.TextField(blank=True, null=True, verbose_name='Observations')),
                ('famille', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='core.famille', verbose_name='Famille')),
                ('type_quotient', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='core.typequotient', verbose_name='Type de quotient')),
            ],
            options={
                'verbose_name': 'quotient',
                'verbose_name_plural': 'quotients',
                'db_table': 'quotients',
            },
        ),
        migrations.CreateModel(
            name='QuestionnaireReponse',
            fields=[
                ('idreponse', models.AutoField(db_column='IDreponse', primary_key=True, serialize=False, verbose_name='ID')),
                ('reponse', models.CharField(blank=True, max_length=450, null=True, verbose_name='Réponse')),
                ('donnee', models.IntegerField(blank=True, db_column='IDdonnee', null=True, verbose_name='Donnée associée')),
                ('famille', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='core.famille', verbose_name='Famille')),
                ('individu', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='core.individu', verbose_name='Individu')),
                ('question', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.questionnairequestion', verbose_name='Question')),
            ],
            options={
                'verbose_name': 'réponse de questionnaire',
                'verbose_name_plural': 'réponses de questionnaires',
                'db_table': 'questionnaire_reponses',
            },
        ),
        migrations.AddField(
            model_name='questionnairequestion',
            name='structure',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='core.structure', verbose_name='Structure'),
        ),
        migrations.CreateModel(
            name='ProblemeSante',
            fields=[
                ('idprobleme', models.AutoField(db_column='IDprobleme', primary_key=True, serialize=False, verbose_name='ID')),
                ('intitule', django_cryptography.fields.encrypt(models.CharField(max_length=200, verbose_name='Intitulé'))),
                ('date_debut', models.DateField(blank=True, null=True, verbose_name='Date de début')),
                ('date_fin', models.DateField(blank=True, null=True, verbose_name='Date de fin')),
                ('description', django_cryptography.fields.encrypt(models.TextField(blank=True, null=True, verbose_name='Description'))),
                ('traitement_medical', models.BooleanField(default=False, verbose_name='Traitement médical')),
                ('description_traitement', django_cryptography.fields.encrypt(models.TextField(blank=True, null=True, verbose_name='Traitement'))),
                ('date_debut_traitement', models.DateField(blank=True, null=True, verbose_name='Date de début du traitement')),
                ('date_fin_traitement', models.DateField(blank=True, null=True, verbose_name='Date de fin du traitement')),
                ('eviction', models.BooleanField(default=False, verbose_name='Eviction')),
                ('date_debut_eviction', models.DateField(blank=True, null=True, verbose_name="Date de début de l'éviction")),
                ('date_fin_eviction', models.DateField(blank=True, null=True, verbose_name="Date de fin de l'éviction")),
                ('diffusion_listing_enfants', models.BooleanField(default=False, verbose_name='Afficher sur la liste des informations médicales')),
                ('diffusion_listing_conso', models.BooleanField(default=False, verbose_name='Afficher sur la liste des consommations')),
                ('diffusion_listing_repas', models.BooleanField(default=False, verbose_name='Afficher sur la commande des repas')),
                ('categorie', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='core.categoriemedicale', verbose_name='Catégorie')),
                ('individu', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.individu', verbose_name='Individu')),
            ],
            options={
                'verbose_name': 'information médicale',
                'verbose_name_plural': 'informations médicales',
                'db_table': 'problemes_sante',
            },
        ),
        migrations.AddField(
            model_name='prestation',
            name='tarif',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='core.tarif', verbose_name='Tarif'),
        ),
        migrations.CreateModel(
            name='PortailRenseignement',
            fields=[
                ('idrenseignement', models.AutoField(db_column='IDrenseignement', primary_key=True, serialize=False, verbose_name='ID')),
                ('date', models.DateTimeField(auto_now_add=True, verbose_name='Date de modification')),
                ('categorie', models.CharField(max_length=200, verbose_name='Catégorie')),
                ('code', models.CharField(max_length=200, verbose_name='Code')),
                ('valeur', models.TextField(blank=True, null=True, verbose_name='Valeur')),
                ('etat', models.CharField(choices=[('ATTENTE', 'En attente de validation'), ('VALIDE', 'Validé'), ('REFUS', 'Refusé')], default='ATTENTE', max_length=100, verbose_name='Etat')),
                ('traitement_date', models.DateTimeField(blank=True, null=True, verbose_name='Date du traitement')),
                ('famille', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='core.famille', verbose_name='Famille')),
                ('individu', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='core.individu', verbose_name='Individu')),
                ('traitement_utilisateur', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to=settings.AUTH_USER_MODEL, verbose_name='Traité par')),
            ],
            options={
                'verbose_name': 'renseignement de portail',
                'verbose_name_plural': 'renseignements de portail',
                'db_table': 'portail_renseignements',
            },
        ),
        migrations.CreateModel(
            name='PortailPeriode',
            fields=[
                ('idperiode', models.AutoField(db_column='IDperiode', primary_key=True, serialize=False, verbose_name='ID')),
                ('nom', models.CharField(max_length=200, verbose_name='Nom de la période')),
                ('date_debut', models.DateField(verbose_name='Date de début')),
                ('date_fin', models.DateField(verbose_name='Date de fin')),
                ('affichage', models.CharField(choices=[('TOUJOURS', 'Toujours afficher'), ('JAMAIS', 'Ne pas afficher'), ('PERIODE', 'Afficher sur la période suivante')], default='TOUJOURS', max_length=100, verbose_name='Affichage')),
                ('affichage_date_debut', models.DateTimeField(blank=True, null=True, verbose_name='Début')),
                ('affichage_date_fin', models.DateTimeField(blank=True, null=True, verbose_name='Fin')),
                ('introduction', models.TextField(blank=True, null=True, verbose_name='Introduction')),
                ('prefacturation', models.BooleanField(default=False, verbose_name='Activer la préfacturation pour cette période')),
                ('types_categories', models.CharField(choices=[('TOUTES', 'Toutes les catégories de compte internet'), ('AUCUNE', 'Uniquement les catégories de compte internet non renseignées'), ('SELECTION', 'Uniquement les catégories suivantes')], default='TOUTES', max_length=100, verbose_name='Catégories')),
                ('activite', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='core.activite', verbose_name='Activité')),
                ('categories', models.ManyToManyField(blank=True, related_name='categories_periode', to='core.CategorieCompteInternet', verbose_name='Sélection de catégories')),
                ('modele', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='core.modeleemail', verbose_name="Modèle d'Email")),
            ],
            options={
                'verbose_name': 'période de réservation',
                'verbose_name_plural': 'périodes de réservation',
                'db_table': 'portail_periodes',
            },
        ),
        migrations.CreateModel(
            name='PortailMessage',
            fields=[
                ('idmessage', models.AutoField(db_column='IDmessage', primary_key=True, serialize=False, verbose_name='ID')),
                ('texte', models.TextField(verbose_name='Texte')),
                ('date_creation', models.DateTimeField(auto_now_add=True, verbose_name='Date de création')),
                ('date_lecture', models.DateTimeField(blank=True, max_length=200, null=True, verbose_name='Date de lecture')),
                ('famille', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='core.famille', verbose_name='Famille')),
                ('structure', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='core.structure', verbose_name='Structure')),
                ('utilisateur', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to=settings.AUTH_USER_MODEL, verbose_name='Utilisateur')),
            ],
            options={
                'verbose_name': 'message',
                'verbose_name_plural': 'messages',
                'db_table': 'portail_messages',
            },
        ),
        migrations.CreateModel(
            name='Piece',
            fields=[
                ('idpiece', models.AutoField(db_column='IDpiece', primary_key=True, serialize=False, verbose_name='ID')),
                ('date_debut', models.DateField(blank=True, null=True, verbose_name='Date de début')),
                ('date_fin', models.DateField(blank=True, null=True, verbose_name='Date de fin')),
                ('document', models.FileField(blank=True, null=True, upload_to=core.models.get_uuid_path, verbose_name='Document')),
                ('titre', models.CharField(blank=True, max_length=200, null=True, verbose_name='Titre')),
                ('famille', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='core.famille', verbose_name='Famille')),
                ('individu', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='core.individu', verbose_name='Individu')),
                ('type_piece', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='core.typepiece', verbose_name='Type de pièce')),
            ],
            options={
                'verbose_name': 'pièce',
                'verbose_name_plural': 'pièces',
                'db_table': 'pieces',
            },
        ),
        migrations.CreateModel(
            name='Photo',
            fields=[
                ('idphoto', models.AutoField(db_column='IDphoto', primary_key=True, serialize=False, verbose_name='ID')),
                ('fichier', models.FileField(upload_to=core.models.get_uuid_path, verbose_name='Fichier')),
                ('titre', models.CharField(blank=True, help_text='Le titre est visible pour les familles sur le portail.', max_length=300, null=True, verbose_name='Titre de la photo')),
                ('date_creation', models.DateTimeField(blank=True, help_text='Cette date est utilisée pour trier les photos.', null=True, verbose_name='Date de création')),
                ('album', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='core.album', verbose_name='Album')),
            ],
            options={
                'verbose_name': 'photo',
                'verbose_name_plural': 'photos',
                'db_table': 'photos',
            },
        ),
        migrations.CreateModel(
            name='PesPiece',
            fields=[
                ('idpiece', models.AutoField(db_column='IDpiece', primary_key=True, serialize=False, verbose_name='ID')),
                ('prelevement', models.BooleanField(default=False, verbose_name='Prélèvement')),
                ('prelevement_sequence', models.CharField(blank=True, choices=[('OOFF', 'Prélèvement ponctuel (OOFF)'), ('FRST', "Premier prélèvement d'une série (FRST)"), ('RCUR', "Prélèvement suivant d'une série (RCUR)"), ('FNAL', "Dernier prélèvement d'une série (FNAL)")], max_length=100, null=True, verbose_name='Séquence')),
                ('prelevement_statut', models.CharField(choices=[('valide', 'Valide'), ('refus', 'Refus'), ('attente', 'Attente')], default='attente', max_length=100, verbose_name='Statut du prélèvement')),
                ('type', models.CharField(choices=[('facture', 'Facture'), ('manuel', 'Manuel')], default='facture', max_length=100, verbose_name='Type de pièce')),
                ('montant', models.DecimalField(decimal_places=2, max_digits=10, verbose_name='Montant')),
                ('facture', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='core.facture', verbose_name='Facture')),
                ('famille', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='core.famille', verbose_name='Famille')),
                ('lot', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='core.peslot', verbose_name='Lot')),
                ('prelevement_mandat', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='core.mandat', verbose_name='Mandat')),
                ('titulaire_helios', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='core.individu', verbose_name='Titulaire Hélios')),
            ],
            options={
                'verbose_name': 'pièce',
                'verbose_name_plural': 'pièces',
                'db_table': 'pes_pieces',
            },
        ),
        migrations.CreateModel(
            name='PesModele',
            fields=[
                ('idmodele', models.AutoField(db_column='IDmodele', primary_key=True, serialize=False, verbose_name='ID')),
                ('nom', models.CharField(max_length=200, verbose_name='Nom')),
                ('observations', models.TextField(blank=True, null=True, verbose_name='Observations')),
                ('format', models.CharField(choices=[('pes', 'PES v2 ORMC Recette'), ('magnus', 'Gestion financière/Magnus Berger-Levrault'), ('jvs', 'Millesime Online JVS')], max_length=100, verbose_name='Format')),
                ('id_poste', models.CharField(blank=True, max_length=200, null=True, verbose_name='Poste comptable par défaut')),
                ('id_collectivite', models.CharField(blank=True, max_length=200, null=True, verbose_name='ID budget collectivité')),
                ('code_collectivite', models.CharField(blank=True, max_length=200, null=True, verbose_name='Code collectivité')),
                ('code_budget', models.CharField(blank=True, max_length=10, null=True, verbose_name='Code budget')),
                ('code_prodloc', models.CharField(blank=True, max_length=4, null=True, verbose_name='Code produit local par défaut')),
                ('code_etab', models.CharField(blank=True, max_length=200, null=True, verbose_name='Code établissement')),
                ('service1', models.CharField(blank=True, help_text='Premier axe analytique.', max_length=15, null=True, verbose_name='Service axe 1')),
                ('service2', models.CharField(blank=True, help_text='Second axe analytique.', max_length=10, null=True, verbose_name='Service axe 2')),
                ('operation', models.CharField(blank=True, max_length=10, null=True, verbose_name='Opération comptable')),
                ('fonction', models.CharField(blank=True, max_length=10, null=True, verbose_name='Fonction comptable')),
                ('prelevement_libelle', models.CharField(default='{NOM_ORGANISATEUR} - Facture {NUM_FACTURE}', help_text='Saisissez le libellé du prélèvement qui apparaîtra sur le relevé de compte de la famille. Vous pouvez personnaliser ce libellé grâce aux mots-clés suivants : {NOM_ORGANISATEUR}, {NUM_FACTURE}, {MOIS}, {MOIS_LETTRES}, {ANNEE}.', max_length=450, verbose_name='Libellé du prélèvement')),
                ('objet_piece', models.CharField(default='Facture {NUM_FACTURE} - {MOIS_LETTRES} {ANNEE}', help_text="Saisissez l'objet de la pièce par défaut. Vous pouvez personnaliser ce libellé grâce aux mots-clés suivants : {NOM_ORGANISATEUR}, {NUM_FACTURE}, {MOIS}, {MOIS_LETTRES}, {ANNEE}.", max_length=450, verbose_name='Libellé de la pièce')),
                ('prestation_libelle', models.CharField(default='{INDIVIDU_PRENOM} - {PRESTATION_LABEL}', help_text='Saisissez le libellé de la prestation par défaut. Vous pouvez personnaliser ce libellé grâce aux mots-clés suivants : {ACTIVITE_NOM}, {ACTIVITE_ABREGE}, {PRESTATION_LABEL}, {PRESTATION_QUANTITE}, {PRESTATION_MOIS}, {PRESTATION_ANNEE}, {INDIVIDU_NOM}, {INDIVIDU_PRENOM}, {MOIS}, {MOIS_LETTRES}, {ANNEE}.', max_length=450, verbose_name='Libellé de la prestation')),
                ('reglement_auto', models.BooleanField(default=False, help_text='Cochez cette case si vous souhaitez que Noethys créé un règlement automatiquement pour les prélèvements.', verbose_name='Règlement automatique')),
                ('payable_internet', models.BooleanField(default=True, help_text="Cochez cette case si l'usager peut payer sur internet avec PayFip.", verbose_name='Titre payable par internet')),
                ('edition_asap', models.CharField(choices=[('', 'ASAP non dématérialisé'), ('01', '01-ASAP dématérialisé à éditer par le centre éditique'), ('02', "02-ASAP dématérialisé à destination d'une entité publique référencée dans Chorus Pro"), ('03', '03-ASAP ORMC Chorus Pro'), ('04', '04-ASAP sans traitement DGFIP')], default='01', help_text="Indiquez si l'ASAP doit être édité ou non par le centre éditique (Balise Edition dans bloc pièce du PES Titre).", max_length=100, verbose_name='Edition ASAP')),
                ('nom_tribunal', models.CharField(blank=True, default='le tribunal administratif', help_text='Saisissez le nom du tribunal administratif de recours.', max_length=400, null=True, verbose_name='Nom du tribunal')),
                ('inclure_detail', models.BooleanField(default=True, help_text='Cochez cette case si vous souhaitez que Noethys intègre le détail des prestations de chaque facture.', verbose_name='Inclure le détail des factures')),
                ('inclure_pieces_jointes', models.BooleanField(default=True, help_text='Cochez cette case si vous souhaitez que Noethys intègre les factures au format PDF.', verbose_name='Inclure les factures au format PDF')),
                ('code_compta_as_alias', models.BooleanField(default=True, help_text='Utiliser le code comptable de la famille (Fiche famille > Onglet Divers) comme code tiers (ou alias). Sinon un code de type FAM000001 sera généré automatiquement.', verbose_name='Utiliser le code comptable familial comme code tiers')),
                ('compte', models.ForeignKey(help_text='Sélectionnez le compte bancaire à créditer dans le cadre du règlement automatique.', on_delete=django.db.models.deletion.PROTECT, to='core.comptebancaire', verbose_name='Compte à créditer')),
                ('mode', models.ForeignKey(blank=True, help_text='Sélectionnez le mode de règlement à utiliser dans le cadre du règlement automatique.', null=True, on_delete=django.db.models.deletion.PROTECT, to='core.modereglement', verbose_name='Mode de règlement')),
                ('modele_document', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='core.modeledocument', verbose_name='Modèle de document')),
            ],
            options={
                'verbose_name': "modèle d'export",
                'verbose_name_plural': "modèles d'export",
                'db_table': 'pes_modeles',
            },
        ),
        migrations.AddField(
            model_name='peslot',
            name='modele',
            field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='core.pesmodele', verbose_name="Modèle d'export"),
        ),
        migrations.CreateModel(
            name='Parametre',
            fields=[
                ('idparametre', models.AutoField(db_column='IDparametre', primary_key=True, serialize=False, verbose_name='ID')),
                ('categorie', models.CharField(blank=True, max_length=200, null=True, verbose_name='Catégorie')),
                ('nom', models.CharField(max_length=200, verbose_name='Nom')),
                ('parametre', models.TextField(blank=True, null=True, verbose_name='Paramètre')),
                ('utilisateur', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='Utilisateur')),
            ],
            options={
                'verbose_name': 'Paramètre',
                'verbose_name_plural': 'Paramètres',
                'db_table': 'parametres',
            },
        ),
        migrations.CreateModel(
            name='Ouverture',
            fields=[
                ('idouverture', models.AutoField(db_column='IDouverture', primary_key=True, serialize=False, verbose_name='ID')),
                ('date', models.DateField(verbose_name='Date')),
                ('activite', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.activite', verbose_name='Activité')),
                ('groupe', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.groupe', verbose_name='Groupe')),
                ('unite', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.unite', verbose_name='Unité de consommation')),
            ],
            options={
                'verbose_name': 'ouverture',
                'verbose_name_plural': 'ouvertures',
                'db_table': 'ouvertures',
            },
        ),
        migrations.CreateModel(
            name='Note',
            fields=[
                ('idnote', models.AutoField(db_column='IDnote', primary_key=True, serialize=False, verbose_name='ID')),
                ('type', models.CharField(choices=[('INSTANTANE', 'Instantané'), ('PROGRAMME', 'Programmé')], default='INSTANTANE', max_length=100, verbose_name='Priorité')),
                ('date_saisie', models.DateTimeField(auto_now_add=True, verbose_name='Date de saisie')),
                ('date_parution', models.DateField(help_text='Cette option permet de différer la parution de la note. Par défaut la date du jour.', verbose_name='Date de parution')),
                ('priorite', models.CharField(choices=[('NORMALE', 'Normale'), ('HAUTE', 'Haute')], default='NORMALE', max_length=100, verbose_name='Priorité')),
                ('afficher_accueil', models.BooleanField(default=False, verbose_name="Afficher sur la page d'accueil")),
                ('afficher_liste', models.BooleanField(default=False, verbose_name='Afficher sur la liste des consommations')),
                ('rappel', models.BooleanField(default=False, verbose_name="Rappel à l'ouverture de Noethys")),
                ('texte', models.TextField(help_text='Saisissez ici le texte de la note.', verbose_name='Texte')),
                ('afficher_facture', models.BooleanField(default=False, verbose_name='Afficher sur la facture')),
                ('rappel_famille', models.BooleanField(default=False, verbose_name="Rappel à l'ouverture de la fiche famille")),
                ('afficher_commande', models.BooleanField(default=False, verbose_name='Afficher sur la commande des repas')),
                ('categorie', models.ForeignKey(blank=True, help_text='Vous pouvez sélectionner une catégorie de note (optionnel).', null=True, on_delete=django.db.models.deletion.PROTECT, to='core.notecategorie', verbose_name='Catégorie')),
                ('famille', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='core.famille', verbose_name='Famille')),
                ('individu', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='core.individu', verbose_name='Individu')),
            ],
            options={
                'verbose_name': 'note',
                'verbose_name_plural': 'notes',
                'db_table': 'notes',
            },
        ),
        migrations.AddField(
            model_name='modeleemail',
            name='structure',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='core.structure', verbose_name='Structure'),
        ),
        migrations.AddField(
            model_name='modeledocument',
            name='structure',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='core.structure', verbose_name='Structure'),
        ),
        migrations.CreateModel(
            name='MemoJournee',
            fields=[
                ('idmemo', models.AutoField(db_column='IDmemo', primary_key=True, serialize=False, verbose_name='ID')),
                ('date', models.DateField(verbose_name='Date')),
                ('texte', models.CharField(blank=True, max_length=450, null=True, verbose_name='Texte')),
                ('inscription', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.inscription', verbose_name='Inscription')),
            ],
            options={
                'verbose_name': 'mémo journalier',
                'verbose_name_plural': 'mémos journaliers',
                'db_table': 'memo_journee',
            },
        ),
        migrations.CreateModel(
            name='Mail',
            fields=[
                ('idmail', models.AutoField(db_column='IDmail', primary_key=True, serialize=False, verbose_name='ID')),
                ('categorie', models.CharField(blank=True, max_length=200, null=True, verbose_name='Catégorie')),
                ('objet', models.CharField(max_length=300, verbose_name='Objet')),
                ('html', models.TextField(blank=True, null=True, verbose_name='Texte')),
                ('date_creation', models.DateTimeField(auto_now_add=True, verbose_name='Date de création')),
                ('selection', models.CharField(choices=[('NON_ENVOYE', "Uniquemement les destinataires qui n'ont pas déjà reçu le message"), ('TOUS', 'Tous les destinataires')], default='NON_ENVOYE', max_length=200, verbose_name='Sélection')),
                ('verrouillage_destinataires', models.BooleanField(default=False, verbose_name='Verrouillages des destinataires')),
                ('adresse_exp', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='core.adressemail', verbose_name='Expéditeur')),
                ('destinataires', models.ManyToManyField(blank=True, to='core.Destinataire', verbose_name='Destinataires')),
                ('pieces_jointes', models.ManyToManyField(blank=True, to='core.PieceJointe', verbose_name='Pièces jointes')),
                ('utilisateur', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='Utilisateur')),
            ],
            options={
                'verbose_name': 'Email',
                'verbose_name_plural': 'Emails',
                'db_table': 'mails',
            },
        ),
        migrations.CreateModel(
            name='Lien',
            fields=[
                ('idlien', models.AutoField(db_column='IDlien', primary_key=True, serialize=False, verbose_name='ID')),
                ('idtype_lien', models.IntegerField(blank=True, null=True, verbose_name='Type de lien')),
                ('responsable', models.BooleanField(default=False, verbose_name='Responsable')),
                ('autorisation', models.IntegerField(blank=True, choices=[(None, 'Autorisation non précisée'), (1, 'Responsable légal(e)'), (2, "Contacter en cas d'urgence"), (3, 'Raccompagnement autorisé'), (4, 'Raccompagnement interdit')], null=True, verbose_name="Type d'autorisation")),
                ('famille', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='core.famille', verbose_name='Famille')),
                ('individu_objet', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='individu_objet', to='core.individu', verbose_name='Individu objet')),
                ('individu_sujet', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='individu_sujet', to='core.individu', verbose_name='Individu sujet')),
            ],
            options={
                'verbose_name': 'lien',
                'verbose_name_plural': 'liens',
                'db_table': 'liens',
            },
        ),
        migrations.AddField(
            model_name='individu',
            name='listes_diffusion',
            field=models.ManyToManyField(blank=True, to='core.ListeDiffusion'),
        ),
        migrations.AddField(
            model_name='individu',
            name='maladies',
            field=models.ManyToManyField(blank=True, related_name='individu_maladies', to='core.TypeMaladie', verbose_name='Maladies contractées'),
        ),
        migrations.AddField(
            model_name='individu',
            name='medecin',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='core.medecin', verbose_name='Médecin'),
        ),
        migrations.AddField(
            model_name='individu',
            name='regimes_alimentaires',
            field=models.ManyToManyField(blank=True, related_name='individu_regimes_alimentaires', to='core.RegimeAlimentaire', verbose_name='Régimes alimentaires'),
        ),
        migrations.AddField(
            model_name='individu',
            name='secteur',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='core.secteur', verbose_name='Secteur'),
        ),
        migrations.AddField(
            model_name='individu',
            name='type_sieste',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='core.typesieste', verbose_name='Sieste'),
        ),
        migrations.CreateModel(
            name='ImageArticle',
            fields=[
                ('idimage', models.AutoField(db_column='IDimage', primary_key=True, serialize=False, verbose_name='ID')),
                ('titre', models.CharField(max_length=300, verbose_name='Titre')),
                ('image', models.ImageField(upload_to=core.models.get_uuid_path, verbose_name='Image')),
                ('structure', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='core.structure', verbose_name='Structure')),
            ],
            options={
                'verbose_name': 'image',
                'verbose_name_plural': 'images',
                'db_table': 'images_articles',
            },
        ),
        migrations.CreateModel(
            name='Historique',
            fields=[
                ('idaction', models.AutoField(db_column='IDaction', primary_key=True, serialize=False, verbose_name='ID')),
                ('horodatage', models.DateTimeField(auto_now_add=True, verbose_name='Horodatage')),
                ('titre', models.CharField(blank=True, max_length=300, null=True, verbose_name='Action')),
                ('detail', models.TextField(blank=True, null=True, verbose_name='Détail')),
                ('objet', models.CharField(blank=True, max_length=300, null=True, verbose_name='Objet')),
                ('idobjet', models.IntegerField(blank=True, null=True, verbose_name='ID objet')),
                ('classe', models.CharField(blank=True, max_length=300, null=True, verbose_name='Classe objet')),
                ('famille', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='core.famille', verbose_name='Famille')),
                ('individu', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='core.individu', verbose_name='Individu')),
                ('utilisateur', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to=settings.AUTH_USER_MODEL, verbose_name='Utilisateur')),
            ],
            options={
                'verbose_name': 'Historique',
                'verbose_name_plural': 'Historique',
                'db_table': 'historique',
            },
        ),
        migrations.AddField(
            model_name='famille',
            name='allocataire',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='core.individu', verbose_name='Titulaire'),
        ),
        migrations.AddField(
            model_name='famille',
            name='caisse',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='core.caisse', verbose_name='Caisse'),
        ),
        migrations.AddField(
            model_name='famille',
            name='internet_categorie',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, related_name='internet_categorie', to='core.categoriecompteinternet', verbose_name='Catégorie'),
        ),
        migrations.AddField(
            model_name='famille',
            name='secteur',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='core.secteur', verbose_name='Secteur'),
        ),
        migrations.AddField(
            model_name='famille',
            name='titulaire_helios',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='titulaire_helios', to='core.individu', verbose_name='Titulaire Hélios'),
        ),
        migrations.AddField(
            model_name='famille',
            name='utilisateur',
            field=models.OneToOneField(null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL),
        ),
        migrations.CreateModel(
            name='FactureRegie',
            fields=[
                ('idregie', models.AutoField(db_column='IDregie', primary_key=True, serialize=False, verbose_name='ID')),
                ('nom', models.CharField(max_length=300, verbose_name='Nom')),
                ('numclitipi', models.CharField(max_length=300, verbose_name='Numéro de client TIPI')),
                ('email_regisseur', models.EmailField(max_length=300, verbose_name='Email du régisseur')),
                ('compte_bancaire', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='core.comptebancaire', verbose_name='Compte bancaire associé')),
            ],
            options={
                'verbose_name': 'régie',
                'verbose_name_plural': 'régies',
                'db_table': 'factures_regies',
            },
        ),
        migrations.AddField(
            model_name='facture',
            name='famille',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='core.famille', verbose_name='Famille'),
        ),
        migrations.AddField(
            model_name='facture',
            name='lot',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='core.lotfactures', verbose_name='Lot de factures'),
        ),
        migrations.AddField(
            model_name='facture',
            name='prefixe',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='core.prefixefacture', verbose_name='Préfixe'),
        ),
        migrations.AddField(
            model_name='facture',
            name='regie',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='core.factureregie', verbose_name='Régie'),
        ),
        migrations.AddField(
            model_name='evenement',
            name='groupe',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.groupe', verbose_name='Groupe'),
        ),
        migrations.AddField(
            model_name='evenement',
            name='unite',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.unite', verbose_name='Unité de consommation'),
        ),
        migrations.AddField(
            model_name='emetteur',
            name='mode',
            field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='core.modereglement', verbose_name='Mode de règlement'),
        ),
        migrations.AddField(
            model_name='ecole',
            name='secteurs',
            field=models.ManyToManyField(blank=True, to='core.Secteur'),
        ),
        migrations.CreateModel(
            name='Devis',
            fields=[
                ('iddevis', models.AutoField(db_column='IDdevis', primary_key=True, serialize=False, verbose_name='ID')),
                ('numero', models.IntegerField(blank=True, null=True, verbose_name='Numéro')),
                ('date_edition', models.DateField(verbose_name="Date d'édition")),
                ('activites', models.CharField(blank=True, max_length=200, null=True, verbose_name='Activités associées')),
                ('individus', models.CharField(blank=True, max_length=200, null=True, verbose_name='Individus associés')),
                ('date_debut', models.DateField(verbose_name='Date de début')),
                ('date_fin', models.DateField(verbose_name='Date de fin')),
                ('total', models.DecimalField(decimal_places=2, default=0.0, max_digits=10, verbose_name='Total')),
                ('regle', models.DecimalField(decimal_places=2, default=0.0, max_digits=10, verbose_name='Réglé')),
                ('solde', models.DecimalField(decimal_places=2, default=0.0, max_digits=10, verbose_name='Solde')),
                ('famille', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='core.famille', verbose_name='Famille')),
            ],
            options={
                'verbose_name': 'devis',
                'verbose_name_plural': 'devis',
                'db_table': 'devis',
            },
        ),
        migrations.AddField(
            model_name='destinataire',
            name='documents',
            field=models.ManyToManyField(blank=True, to='core.DocumentJoint', verbose_name='Documents joints'),
        ),
        migrations.AddField(
            model_name='destinataire',
            name='famille',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='core.famille', verbose_name='Famille'),
        ),
        migrations.AddField(
            model_name='destinataire',
            name='individu',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='core.individu', verbose_name='Individu'),
        ),
        migrations.AddField(
            model_name='destinataire',
            name='liste_diffusion',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='core.listediffusion', verbose_name='Liste de diffusion'),
        ),
        migrations.CreateModel(
            name='Deduction',
            fields=[
                ('iddeduction', models.AutoField(db_column='IDdeduction', primary_key=True, serialize=False, verbose_name='ID')),
                ('date', models.DateField(verbose_name='Date')),
                ('montant', models.DecimalField(decimal_places=2, default=0.0, max_digits=10, verbose_name='Montant')),
                ('label', models.CharField(max_length=200, verbose_name='Label')),
                ('aide', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='core.aide', verbose_name='Aide')),
                ('famille', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='core.famille', verbose_name='Famille')),
                ('prestation', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.prestation', verbose_name='Prestation')),
            ],
            options={
                'verbose_name': 'déduction',
                'verbose_name_plural': 'déductions',
                'db_table': 'deductions',
            },
        ),
        migrations.CreateModel(
            name='Cotisation',
            fields=[
                ('idcotisation', models.AutoField(db_column='IDcotisation', primary_key=True, serialize=False, verbose_name='ID')),
                ('date_saisie', models.DateTimeField(auto_now_add=True, verbose_name='Date de saisie')),
                ('date_creation_carte', models.DateField(blank=True, null=True, verbose_name='Date de création')),
                ('numero', models.CharField(blank=True, max_length=100, null=True, verbose_name='Numéro')),
                ('date_debut', models.DateField(verbose_name='Date de début')),
                ('date_fin', models.DateField(verbose_name='Date de fin')),
                ('observations', models.TextField(blank=True, null=True, verbose_name='Observations')),
                ('activites', models.ManyToManyField(blank=True, to='core.Activite', verbose_name='Activités')),
                ('depot_cotisation', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='core.depotcotisations', verbose_name="Dépôt d'adhésions")),
                ('famille', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='core.famille', verbose_name='Famille')),
                ('individu', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='core.individu', verbose_name='Individu')),
                ('prestation', models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='core.prestation', verbose_name='Prestation')),
                ('type_cotisation', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='core.typecotisation', verbose_name="Type d'adhésion")),
                ('unite_cotisation', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='core.unitecotisation', verbose_name="Unité d'adhésion")),
            ],
            options={
                'verbose_name': 'adhésion',
                'verbose_name_plural': 'adhésions',
                'db_table': 'cotisations',
            },
        ),
        migrations.CreateModel(
            name='ContactUrgence',
            fields=[
                ('idcontact', models.AutoField(db_column='IDcontact', primary_key=True, serialize=False, verbose_name='ID')),
                ('nom', models.CharField(max_length=200, verbose_name='Nom')),
                ('prenom', models.CharField(max_length=200, verbose_name='Prénom')),
                ('rue_resid', models.CharField(blank=True, max_length=200, null=True, verbose_name='Rue')),
                ('cp_resid', models.CharField(blank=True, max_length=50, null=True, verbose_name='Code postal')),
                ('ville_resid', models.CharField(blank=True, max_length=200, null=True, verbose_name='Ville')),
                ('tel_domicile', models.CharField(blank=True, max_length=100, null=True, verbose_name='Tél domicile')),
                ('tel_mobile', models.CharField(blank=True, max_length=100, null=True, verbose_name='Tél portable')),
                ('tel_travail', models.CharField(blank=True, max_length=100, null=True, verbose_name='Tél travail')),
                ('mail', models.EmailField(blank=True, max_length=300, null=True, verbose_name='Email')),
                ('observations', models.TextField(blank=True, null=True, verbose_name='Observations')),
                ('lien', models.CharField(max_length=200, verbose_name="Lien avec l'individu")),
                ('autorisation_sortie', models.BooleanField(default=True, verbose_name="Autorisé à récupérer l'individu")),
                ('autorisation_appel', models.BooleanField(default=True, verbose_name="A contacter en cas d'urgence")),
                ('famille', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='core.famille', verbose_name='Famille')),
                ('individu', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='core.individu', verbose_name='Individu')),
            ],
            options={
                'verbose_name': "contact d'urgence et de sortie",
                'verbose_name_plural': "contacts d'urgence et de sortie",
                'db_table': 'contacts_urgence',
            },
        ),
        migrations.CreateModel(
            name='Consommation',
            fields=[
                ('idconso', models.AutoField(db_column='IDconso', primary_key=True, serialize=False, verbose_name='ID')),
                ('date', models.DateField(blank=True, null=True, verbose_name='Date')),
                ('heure_debut', models.TimeField(blank=True, null=True, verbose_name='Heure de début')),
                ('heure_fin', models.TimeField(blank=True, null=True, verbose_name='Heure de fin')),
                ('etat', models.CharField(blank=True, choices=[('reservation', 'Réservation'), ('present', 'Présent'), ('absenti', 'Absence injustifiée'), ('absentj', 'Absence justifiée'), ('attente', 'Attente'), ('refus', 'Refus')], max_length=100, null=True, verbose_name='Etat')),
                ('date_saisie', models.DateTimeField(auto_now_add=True, verbose_name='Date de saisie')),
                ('forfait', models.IntegerField(blank=True, null=True, verbose_name='Type de forfait')),
                ('quantite', models.IntegerField(blank=True, default=1, null=True, verbose_name='Quantité')),
                ('badgeage_debut', models.DateTimeField(blank=True, null=True, verbose_name='Badgeage début')),
                ('badgeage_fin', models.DateTimeField(blank=True, null=True, verbose_name='Badgeage fin')),
                ('activite', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='core.activite', verbose_name='Activité')),
                ('categorie_tarif', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='core.categorietarif', verbose_name='Catégorie de tarif')),
                ('evenement', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='core.evenement', verbose_name='Evénement')),
                ('groupe', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='core.groupe', verbose_name='Groupe')),
                ('individu', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='core.individu', verbose_name='Individu')),
                ('inscription', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='core.inscription', verbose_name='Inscription')),
                ('prestation', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='core.prestation', verbose_name='Prestation')),
                ('unite', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='core.unite', verbose_name='Unité de consommation')),
            ],
            options={
                'verbose_name': 'consommation',
                'verbose_name_plural': 'consommations',
                'db_table': 'consommations',
            },
        ),
        migrations.CreateModel(
            name='Consentement',
            fields=[
                ('idconsentement', models.AutoField(db_column='IDconsentement', primary_key=True, serialize=False, verbose_name='ID')),
                ('horodatage', models.DateTimeField(auto_now_add=True, verbose_name='Date')),
                ('famille', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='core.famille', verbose_name='Famille')),
                ('unite_consentement', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='core.uniteconsentement', verbose_name='Unité de consentement')),
            ],
            options={
                'verbose_name': 'consentement',
                'verbose_name_plural': 'consentements',
                'db_table': 'consentements',
            },
        ),
        migrations.AddField(
            model_name='comptebancaire',
            name='structure',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='core.structure', verbose_name='Structure'),
        ),
        migrations.CreateModel(
            name='CombiTarif',
            fields=[
                ('idcombi_tarif', models.AutoField(db_column='IDcombi_tarif', primary_key=True, serialize=False, verbose_name='ID')),
                ('type', models.CharField(blank=True, max_length=100, null=True, verbose_name='Type')),
                ('date', models.DateField(blank=True, null=True, verbose_name='Date')),
                ('quantite_max', models.IntegerField(blank=True, null=True, verbose_name='Quantité maximale')),
                ('groupe', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='core.groupe', verbose_name='Groupe')),
                ('tarif', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.tarif', verbose_name='Tarif')),
                ('unites', models.ManyToManyField(to='core.Unite')),
            ],
            options={
                'verbose_name': 'combinaison de tarif',
                'verbose_name_plural': 'combinaisons de tarif',
                'db_table': 'combi_tarifs',
            },
        ),
        migrations.CreateModel(
            name='CombiAide',
            fields=[
                ('idcombi_aide', models.AutoField(db_column='IDcombi_aide', primary_key=True, serialize=False, verbose_name='ID')),
                ('montant', models.DecimalField(decimal_places=2, default=0.0, max_digits=10, verbose_name='Montant')),
                ('aide', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.aide', verbose_name='Aide')),
                ('unites', models.ManyToManyField(to='core.Unite')),
            ],
            options={
                'verbose_name': "combinaison d'aide",
                'verbose_name_plural': "combinaisons d'aide",
                'db_table': 'combi_aides',
            },
        ),
        migrations.AddField(
            model_name='classe',
            name='ecole',
            field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='core.ecole', verbose_name='Ecole'),
        ),
        migrations.AddField(
            model_name='classe',
            name='niveaux',
            field=models.ManyToManyField(to='core.NiveauScolaire'),
        ),
        migrations.AddField(
            model_name='caisse',
            name='regime',
            field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='core.regime', verbose_name='Régime social'),
        ),
        migrations.CreateModel(
            name='Attestation',
            fields=[
                ('idattestation', models.AutoField(db_column='IDattestation', primary_key=True, serialize=False, verbose_name='ID')),
                ('numero', models.IntegerField(blank=True, null=True, verbose_name='Numéro')),
                ('date_edition', models.DateField(verbose_name="Date d'édition")),
                ('activites', models.CharField(blank=True, max_length=200, null=True, verbose_name='Activités associées')),
                ('individus', models.CharField(blank=True, max_length=200, null=True, verbose_name='Individus associés')),
                ('date_debut', models.DateField(verbose_name='Date de début')),
                ('date_fin', models.DateField(verbose_name='Date de fin')),
                ('total', models.DecimalField(decimal_places=2, default=0.0, max_digits=10, verbose_name='Total')),
                ('regle', models.DecimalField(decimal_places=2, default=0.0, max_digits=10, verbose_name='Réglé')),
                ('solde', models.DecimalField(decimal_places=2, default=0.0, max_digits=10, verbose_name='Solde')),
                ('famille', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='core.famille', verbose_name='Famille')),
            ],
            options={
                'verbose_name': 'attestation',
                'verbose_name_plural': 'attestations',
                'db_table': 'attestations',
            },
        ),
        migrations.CreateModel(
            name='Assurance',
            fields=[
                ('idassurance', models.AutoField(db_column='IDassurance', primary_key=True, serialize=False, verbose_name='ID')),
                ('num_contrat', models.CharField(max_length=200, verbose_name='N° de contrat')),
                ('date_debut', models.DateField(verbose_name='Date de début')),
                ('date_fin', models.DateField(blank=True, null=True, verbose_name='Date de fin')),
                ('assureur', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='core.assureur', verbose_name='Assureur')),
                ('famille', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='core.famille', verbose_name='Famille')),
                ('individu', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='core.individu', verbose_name='Individu')),
            ],
            options={
                'verbose_name': 'assurance',
                'verbose_name_plural': 'assurances',
                'db_table': 'assurances',
            },
        ),
        migrations.CreateModel(
            name='Article',
            fields=[
                ('idarticle', models.AutoField(db_column='IDarticle', primary_key=True, serialize=False, verbose_name='ID')),
                ('titre', models.CharField(max_length=300, verbose_name='Titre')),
                ('texte', models.TextField(verbose_name='Texte')),
                ('image', models.ImageField(blank=True, null=True, upload_to=core.models.get_uuid_path, verbose_name='Image')),
                ('date_debut', models.DateTimeField(help_text="Saisissez la date de début de publication. Par défaut, la date du jour de la création de l'article.", verbose_name='Début de publication')),
                ('date_fin', models.DateTimeField(blank=True, help_text='Laissez vide pour ne pas définir de date de fin de publication.', null=True, verbose_name='Fin de publication')),
                ('couleur_fond', models.CharField(blank=True, choices=[(None, 'Par défaut'), ('primary', 'Bleu foncé'), ('info', 'Bleu clair'), ('success', 'Vert'), ('warning', 'Jaune'), ('danger', 'Rouge'), ('gray', 'Gris')], default=None, help_text="Couleur de fond du cadre de l'article. Blanc par défaut.", max_length=100, null=True, verbose_name='Couleur de fond')),
                ('statut', models.CharField(choices=[('publie', 'Publié'), ('non_publie', 'Non publié')], default='publie', help_text='Sélectionnez Non publié pour interrompre la publication quelque soit la date de fin de publication prévue.', max_length=100, verbose_name='Statut')),
                ('document', models.FileField(blank=True, help_text='Privilégiez un document au format PDF.', null=True, upload_to=core.models.get_uuid_path, verbose_name='Document')),
                ('document_titre', models.CharField(default='Document', help_text='Saisissez un nom de document.', max_length=300, verbose_name='Titre')),
                ('public', models.CharField(choices=[('toutes', 'Toutes les familles'), ('inscrits', "Les familles dont un membre est inscrit à l'une des activités suivantes"), ('presents', "Les familles dont un membre est présent sur l'une des activités suivantes et sur la période suivante"), ('presents_groupes', "Les familles dont un membre est présent sur l'un des groupes suivants et sur la période suivante")], help_text='Sélectionnez le public qui pourra consulter cet article.', max_length=100, verbose_name='Public')),
                ('present_debut', models.DateField(blank=True, null=True, verbose_name='Date de début')),
                ('present_fin', models.DateField(blank=True, null=True, verbose_name='Date de fin')),
                ('activites', models.ManyToManyField(blank=True, help_text='Sélectionnez une ou plusieurs activités dans la liste.', related_name='article_activites', to='core.Activite', verbose_name='Activités')),
                ('album', models.ForeignKey(blank=True, help_text='Sélectionnez un album photos existant à joindre à cet article.', null=True, on_delete=django.db.models.deletion.SET_NULL, to='core.album', verbose_name='Album photos')),
                ('auteur', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='Auteur')),
                ('groupes', models.ManyToManyField(blank=True, help_text='Sélectionnez un ou plusieurs groupes dans la liste.', related_name='article_groupes', to='core.Groupe', verbose_name='Groupes')),
                ('image_article', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='core.imagearticle', verbose_name='Image')),
                ('structure', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='core.structure', verbose_name='Structure')),
            ],
            options={
                'verbose_name': 'article',
                'verbose_name_plural': 'articles',
                'db_table': 'articles',
            },
        ),
        migrations.AddField(
            model_name='album',
            name='structure',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='core.structure', verbose_name='Structure'),
        ),
        migrations.AddField(
            model_name='aide',
            name='caisse',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='core.caisse', verbose_name='Caisse'),
        ),
        migrations.AddField(
            model_name='aide',
            name='famille',
            field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='core.famille', verbose_name='Famille'),
        ),
        migrations.AddField(
            model_name='aide',
            name='individus',
            field=models.ManyToManyField(to='core.Individu', verbose_name='Bénéficiaires'),
        ),
        migrations.CreateModel(
            name='Agrement',
            fields=[
                ('idagrement', models.AutoField(db_column='IDagrement', primary_key=True, serialize=False, verbose_name='ID')),
                ('agrement', models.CharField(max_length=200, verbose_name='Agrément')),
                ('date_debut', models.DateField(verbose_name='Date de début')),
                ('date_fin', models.DateField(verbose_name='Date de fin')),
                ('activite', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.activite', verbose_name='Activité')),
            ],
            options={
                'verbose_name': 'agrément',
                'verbose_name_plural': 'agréments',
                'db_table': 'agrements',
            },
        ),
        migrations.AddField(
            model_name='adressemail',
            name='structure',
            field=models.ForeignKey(blank=True, help_text='Choisissez si cette adresse est accessible par une structure spécifique ou par toutes les structures.', null=True, on_delete=django.db.models.deletion.PROTECT, to='core.structure', verbose_name='Structure'),
        ),
        migrations.AddField(
            model_name='activite',
            name='cotisations',
            field=models.ManyToManyField(blank=True, help_text="Sélectionnez dans la liste des types d'adhésions qui doivent être à jour.", related_name='activite_types_cotisations', to='core.TypeCotisation', verbose_name="Types d'adhésions"),
        ),
        migrations.AddField(
            model_name='activite',
            name='groupes_activites',
            field=models.ManyToManyField(blank=True, to='core.TypeGroupeActivite'),
        ),
        migrations.AddField(
            model_name='activite',
            name='pieces',
            field=models.ManyToManyField(blank=True, help_text='Sélectionnez dans la liste les types de pièces qui doivent être à jour.', related_name='activite_types_pieces', to='core.TypePiece', verbose_name='Types de pièces'),
        ),
        migrations.AddField(
            model_name='activite',
            name='regie',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='core.factureregie', verbose_name='Régie de facturation'),
        ),
        migrations.AddField(
            model_name='activite',
            name='structure',
            field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='core.structure', verbose_name='Structure'),
        ),
        migrations.AddField(
            model_name='activite',
            name='types_consentements',
            field=models.ManyToManyField(blank=True, help_text='Sélectionnez dans la liste les types de consentements internet nécessaires.', related_name='activite_types_consentements', to='core.TypeConsentement', verbose_name='Types de consentements'),
        ),
        migrations.AddField(
            model_name='utilisateur',
            name='structures',
            field=models.ManyToManyField(blank=True, related_name='utilisateur_structures', to='core.Structure', verbose_name='Structures'),
        ),
        migrations.AddField(
            model_name='utilisateur',
            name='user_permissions',
            field=models.ManyToManyField(blank=True, help_text='Specific permissions for this user.', related_name='user_set', related_query_name='user', to='auth.Permission', verbose_name='user permissions'),
        ),
        migrations.CreateModel(
            name='Utilisateur_Famille',
            fields=[
            ],
            options={
                'verbose_name': 'Famille',
                'proxy': True,
                'indexes': [],
                'constraints': [],
            },
            bases=('core.utilisateur',),
            managers=[
                ('objects', core.models.CustomUserManager()),
            ],
        ),
        migrations.CreateModel(
            name='Utilisateur_Utilisateur',
            fields=[
            ],
            options={
                'verbose_name': 'Utilisateur',
                'proxy': True,
                'indexes': [],
                'constraints': [],
            },
            bases=('core.utilisateur',),
            managers=[
                ('objects', core.models.CustomUserManager()),
            ],
        ),
    ]
