# Generated by Django 5.0.4 on 2024-06-03 09:59

import common.fields
import django.contrib.auth.models
import django.contrib.auth.validators
import django.core.validators
import django.db.models.deletion
import django.utils.timezone
import django_countries.fields
from django.conf import settings
from django.db import migrations, models


class Migration(migrations.Migration):

    initial = True

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

    operations = [
        migrations.CreateModel(
            name='Contact',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('prenom', models.CharField(max_length=30, verbose_name='Prénom')),
                ('nom', models.CharField(max_length=30, verbose_name='Nom')),
                ('rue', models.CharField(blank=True, max_length=30, verbose_name='Rue')),
                ('npa', models.CharField(blank=True, max_length=4, verbose_name='NPA')),
                ('localite', models.CharField(blank=True, max_length=30, verbose_name='Localité')),
                ('tel_prive', models.CharField(blank=True, max_length=30, verbose_name='Tél. privé')),
                ('tel_prof', models.CharField(blank=True, max_length=30, verbose_name='Tél. prof.')),
                ('email', models.EmailField(blank=True, max_length=100)),
                ('profession', models.CharField(blank=True, max_length=100, verbose_name='Activité/prof.')),
                ('remarque', models.TextField(blank=True, verbose_name='Remarque')),
                ('est_actif', models.BooleanField(default=True, verbose_name='actif')),
            ],
            options={
                'verbose_name': 'Contact',
                'ordering': ('nom', 'prenom'),
            },
        ),
        migrations.CreateModel(
            name='CercleScolaire',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('nom', models.CharField(max_length=50, unique=True)),
                ('telephone', models.CharField(blank=True, max_length=35, verbose_name='tél.')),
            ],
            options={
                'verbose_name': 'Cercle scolaire',
                'verbose_name_plural': 'Cercles scolaires',
                'ordering': ('nom',),
            },
        ),
        migrations.CreateModel(
            name='Famille',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('archived_at', models.DateTimeField(blank=True, null=True, verbose_name='Archivée le')),
                ('nom', models.CharField(max_length=40, verbose_name='Nom de famille')),
                ('rue', models.CharField(blank=True, max_length=60, verbose_name='Rue')),
                ('npa', models.CharField(blank=True, max_length=4, verbose_name='NPA')),
                ('localite', models.CharField(blank=True, max_length=30, verbose_name='Localité')),
                ('telephone', models.CharField(blank=True, max_length=60, verbose_name='Tél.')),
                ('autorite_parentale', models.CharField(blank=True, choices=[('conjointe', 'Conjointe'), ('pere', 'Père'), ('mere', 'Mère'), ('tutelle', 'Tutelle')], max_length=20, verbose_name='Autorité parentale')),
                ('monoparentale', models.BooleanField(blank=True, default=None, null=True, verbose_name='Famille monoparent.')),
                ('statut_marital', models.CharField(blank=True, choices=[('celibat', 'Célibataire'), ('mariage', 'Marié'), ('pacs', 'PACS'), ('concubin', 'Concubin'), ('veuf', 'Veuf'), ('separe', 'Séparé'), ('divorce', 'Divorcé')], max_length=20, verbose_name='Statut marital')),
                ('connue', models.BooleanField(default=False, verbose_name='famille déjà suivie')),
                ('accueil', models.BooleanField(default=False, verbose_name="famille d'accueil")),
                ('besoins_part', models.BooleanField(default=False, verbose_name='famille à besoins particuliers')),
                ('sap', models.BooleanField(default=False, verbose_name='famille s@p')),
                ('garde', models.CharField(blank=True, choices=[('partage', 'garde partagée'), ('droit', 'droit de garde'), ('visite', 'droit de visite')], max_length=20, verbose_name='Type de garde')),
                ('provenance', models.CharField(blank=True, choices=[('famille', 'Famille'), ('ies-ne', 'IES-NE'), ('ies-hc', 'IES-HC'), ('aemo', 'SAEMO'), ('fah', "Famille d'accueil"), ('refug', 'Centre d’accueil réfugiés'), ('hopital', 'Hôpital'), ('autre', 'Autre')], max_length=30, verbose_name='Provenance')),
                ('destination', models.CharField(blank=True, choices=[('famille', 'Famille'), ('ies-ne', 'IES-NE'), ('ies-hc', 'IES-HC'), ('aemo', 'SAEMO'), ('fah', "Famille d'accueil"), ('refug', 'Centre d’accueil réfugiés'), ('hopital', 'Hôpital'), ('autre', 'Autre')], max_length=30, verbose_name='Destination')),
                ('statut_financier', models.CharField(blank=True, choices=[('ai', 'AI PC'), ('gsr', 'GSR'), ('osas', 'OSAS'), ('revenu', 'Revenu')], max_length=30, verbose_name='Statut financier')),
                ('remarques', models.TextField(blank=True)),
            ],
            options={
                'ordering': ('nom', 'npa'),
                'permissions': (
                    ('can_manage_waiting_list', "Gérer la liste d'attente"),
                    ('can_archive', 'Archiver les dossiers AEMO'),
                    ('export_stats', 'Exporter les statistiques')
                ),
            },
        ),
        migrations.CreateModel(
            name='LibellePrestation',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('code', models.CharField(max_length=6, unique=True, verbose_name='Code')),
                ('nom', models.CharField(max_length=30, verbose_name='Nom')),
                ('actes', models.TextField(blank=True, verbose_name='Actes à prester')),
            ],
            options={
                'ordering': ('code',),
            },
        ),
        migrations.CreateModel(
            name='Region',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('nom', models.CharField(max_length=30, unique=True)),
                ('rue', models.CharField(blank=True, max_length=100, verbose_name='Rue')),
            ],
        ),
        migrations.CreateModel(
            name='Role',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('nom', models.CharField(max_length=50, unique=True, verbose_name='Nom')),
                ('est_famille', models.BooleanField(default=False, verbose_name='Famille')),
                ('est_intervenant', models.BooleanField(default=False, verbose_name='Intervenant')),
                ('est_editeur', models.BooleanField(default=False, help_text='Un rôle éditeur donne le droit de modification des dossiers familles si la personne est intervenante.', verbose_name='Éditeur')),
            ],
            options={
                'ordering': ('nom',),
            },
        ),
        migrations.CreateModel(
            name='Service',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('sigle', models.CharField(max_length=20, unique=True, verbose_name='Sigle')),
                ('nom_complet', models.CharField(blank=True, max_length=80, verbose_name='Nom complet')),
            ],
            options={
                'ordering': ('sigle',),
            },
        ),
        migrations.CreateModel(
            name='Utilisateur',
            fields=[
                ('contact_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='aemo.contact')),
                ('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')),
                ('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')),
                ('sigle', models.CharField(blank=True, max_length=5)),
                ('equipe', models.CharField(blank=True, choices=[('montagnes', 'Montagnes et V-d-T'), ('littoral', 'Littoral et V-d-R')], max_length=10, verbose_name='Équipe')),
                ('date_desactivation', models.DateField(blank=True, null=True, verbose_name='Date désactivation')),
                ('taux_activite', models.PositiveSmallIntegerField(blank=True, default=0, validators=[django.core.validators.MaxValueValidator(100)], verbose_name='Taux d’activité (en %)')),
                ('decharge', models.PositiveSmallIntegerField(blank=True, null=True, verbose_name='Heures de décharge')),
                ('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')),
                ('user_permissions', 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')),
            ],
            options={
                'verbose_name': 'user',
                'verbose_name_plural': 'users',
                'abstract': False,
            },
            bases=('aemo.contact', models.Model),
            managers=[
                ('objects', django.contrib.auth.models.UserManager()),
            ],
        ),
        migrations.CreateModel(
            name='GroupInfo',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('description', models.TextField(blank=True)),
                ('group', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to='auth.group')),
            ],
        ),
        migrations.CreateModel(
            name='Niveau',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('niveau_interv', models.PositiveSmallIntegerField(choices=[(0, '0'), (1, '1'), (2, '2'), (3, '3')], verbose_name='Niveau d’intervention')),
                ('date_debut', models.DateField(blank=True, null=True, verbose_name='Date début')),
                ('date_fin', models.DateField(blank=True, null=True, verbose_name='Date fin')),
                ('famille', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='niveaux', to='aemo.famille', verbose_name='Famille')),
            ],
        ),
        migrations.CreateModel(
            name='Personne',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('created_at', models.DateTimeField(auto_now_add=True, null=True)),
                ('nom', models.CharField(max_length=30, verbose_name='Nom')),
                ('prenom', models.CharField(blank=True, max_length=30, verbose_name='Prénom')),
                ('date_naissance', models.DateField(blank=True, null=True, verbose_name='Date de naissance')),
                ('genre', models.CharField(choices=[('M', 'M'), ('F', 'F')], default='M', max_length=1, verbose_name='Genre')),
                ('rue', models.CharField(blank=True, max_length=60, verbose_name='Rue')),
                ('npa', models.CharField(blank=True, max_length=4, verbose_name='NPA')),
                ('localite', models.CharField(blank=True, max_length=30, verbose_name='Localité')),
                ('telephone', models.CharField(blank=True, max_length=60, verbose_name='Tél.')),
                ('email', models.EmailField(blank=True, max_length=254, verbose_name='Courriel')),
                ('pays_origine', django_countries.fields.CountryField(blank=True, max_length=2, verbose_name='Nationalité')),
                ('remarque', models.TextField(blank=True)),
                ('remarque_privee', models.TextField(blank=True, verbose_name='Remarque privée')),
                ('profession', models.CharField(blank=True, max_length=50, verbose_name='Profession')),
                ('filiation', models.CharField(blank=True, max_length=80, verbose_name='Filiation')),
                ('decedee', models.BooleanField(default=False, verbose_name='Cette personne est décédée')),
                ('allergies', models.TextField(blank=True, verbose_name='Allergies')),
                ('employeur', models.CharField(blank=True, max_length=50, verbose_name='Adresse empl.')),
                ('permis', models.CharField(blank=True, max_length=30, verbose_name='Permis/séjour')),
                ('validite', models.DateField(blank=True, null=True, verbose_name='Date validité')),
                ('animaux', models.BooleanField(default=None, null=True, verbose_name='Animaux')),
                ('famille', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='membres', to='aemo.famille')),
                ('reseaux', models.ManyToManyField(blank=True, to='aemo.contact')),
                ('role', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='aemo.role')),
            ],
            options={
                'verbose_name': 'Personne',
                'ordering': ('nom', 'prenom'),
            },
        ),
        migrations.CreateModel(
            name='Formation',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('statut', models.CharField(blank=True, choices=[('pre_scol', 'Pré-scolaire'), ('cycle1', 'Cycle 1'), ('cycle2', 'Cycle 2'), ('cycle3', 'Cycle 3'), ('apprenti', 'Apprentissage'), ('etudiant', 'Etudiant'), ('en_emploi', 'En emploi'), ('sans_emploi', 'Sans emploi'), ('sans_occupation', 'Sans occupation')], max_length=20, verbose_name='Scolarité')),
                ('college', models.CharField(blank=True, max_length=50, verbose_name='Collège')),
                ('classe', models.CharField(blank=True, max_length=50, verbose_name='Classe')),
                ('enseignant', models.CharField(blank=True, max_length=50, verbose_name='Enseignant')),
                ('creche', models.CharField(blank=True, max_length=50, verbose_name='Crèche')),
                ('creche_resp', models.CharField(blank=True, max_length=50, verbose_name='Resp.crèche')),
                ('entreprise', models.CharField(blank=True, max_length=50, verbose_name='Entreprise')),
                ('maitre_apprentissage', models.CharField(blank=True, max_length=50, verbose_name="Maître d'appr.")),
                ('remarque', models.TextField(blank=True)),
                ('cercle_scolaire', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='aemo.cerclescolaire', verbose_name='Cercle scolaire')),
                ('personne', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to='aemo.personne')),
            ],
            options={
                'verbose_name': 'Scolarité',
            },
        ),
        migrations.AddField(
            model_name='famille',
            name='region',
            field=models.ForeignKey(blank=True, default=None, null=True, on_delete=django.db.models.deletion.SET_NULL, to='aemo.region'),
        ),
        migrations.AddField(
            model_name='contact',
            name='roles',
            field=models.ManyToManyField(blank=True, related_name='contacts', to='aemo.role', verbose_name='Rôles'),
        ),
        migrations.AddField(
            model_name='contact',
            name='service',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='aemo.service'),
        ),
        migrations.CreateModel(
            name='Suivi',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('equipe', models.CharField(choices=[('montagnes', 'Montagnes et V-d-T'), ('littoral', 'Littoral et V-d-R'), ('neuch_ville', 'Neuchâtel-ville (archives)'), ('litt_est', 'Littoral Est (archives)'), ('litt_ouest', 'Littoral Ouest (archives)')], max_length=15, verbose_name='Équipe')),
                ('heure_coord', models.BooleanField(default=False, verbose_name='Heure de coordination')),
                ('difficultes', models.TextField(blank=True, verbose_name='Difficultés')),
                ('aides', models.TextField(blank=True, verbose_name='Aides souhaitées')),
                ('competences', models.TextField(blank=True, verbose_name='Ressources/Compétences')),
                ('dates_demande', models.CharField(blank=True, max_length=128, verbose_name='Dates')),
                ('autres_contacts', models.TextField(blank=True, verbose_name='Autres services contactés')),
                ('disponibilites', models.TextField(blank=True, verbose_name='Disponibilités')),
                ('remarque', models.TextField(blank=True)),
                ('remarque_privee', models.TextField(blank=True, verbose_name='Remarque privée')),
                ('service_orienteur', models.CharField(blank=True, choices=[('famille', 'Famille'), ('ope', 'OPE'), ('aemo', 'AEMO'), ('cnpea', 'CNPea'), ('ecole', 'École'), ('res_prim', 'Réseau primaire'), ('res_sec', 'Réseau secondaire'), ('pediatre', 'Pédiatre'), ('autre', 'Autre')], max_length=15, verbose_name='Orienté vers l’AEMO par')),
                ('service_annonceur', models.CharField(blank=True, max_length=60, verbose_name='Service annonceur')),
                ('motif_demande', common.fields.ChoiceArrayField(base_field=models.CharField(choices=[('accompagnement', 'Accompagnement psycho-éducatif'), ('integration', 'Aide à l’intégration'), ('demande', 'Elaboration d’une demande (contrainte)'), ('crise', 'Travail sur la crise'), ('post-placement', 'Post-placement'), ('pre-placement', 'Pré-placement'), ('violence', 'Violence / maltraitances')], max_length=60), blank=True, null=True, size=None, verbose_name='Motif de la demande')),
                ('motif_detail', models.TextField(blank=True, verbose_name='Motif')),
                ('mandat_ope', common.fields.ChoiceArrayField(base_field=models.CharField(blank=True, choices=[('volontaire', 'Mandat volontaire'), ('curatelle', 'Curatelle 308'), ('referent', 'Référent'), ('enquete', 'Enquête'), ('tutelle', 'Curatelle de portée générale')], max_length=65), blank=True, null=True, size=None, verbose_name='Mandat OPE')),
                ('referent_note', models.TextField(blank=True, verbose_name='Autres contacts')),
                ('collaboration', models.TextField(blank=True, verbose_name='Collaboration')),
                ('ressource', models.TextField(blank=True, verbose_name='Ressource')),
                ('crise', models.TextField(blank=True, verbose_name='Gestion de crise')),
                ('date_demande', models.DateField(blank=True, default=None, null=True, verbose_name='Demande déposée le')),
                ('date_debut_evaluation', models.DateField(blank=True, default=None, null=True, verbose_name='Début de l’évaluation le')),
                ('date_fin_evaluation', models.DateField(blank=True, default=None, null=True, verbose_name='Fin de l’évaluation le')),
                ('date_debut_suivi', models.DateField(blank=True, default=None, null=True, verbose_name='Début du suivi le')),
                ('date_fin_suivi', models.DateField(blank=True, default=None, null=True, verbose_name='Fin du suivi le')),
                ('demande_prioritaire', models.BooleanField(default=False, verbose_name='Demande prioritaire')),
                ('demarche', common.fields.ChoiceArrayField(base_field=models.CharField(blank=True, choices=[('volontaire', 'Volontaire'), ('contrainte', 'Contrainte'), ('post_placement', 'Post placement'), ('non_placement', 'Eviter placement')], max_length=60), blank=True, null=True, size=None, verbose_name='Démarche')),
                ('pers_famille_presentes', models.CharField(blank=True, max_length=200, verbose_name='Membres famille présents')),
                ('ref_presents', models.CharField(blank=True, max_length=250, verbose_name='Intervenants présents')),
                ('autres_pers_presentes', models.CharField(blank=True, max_length=100, verbose_name='Autres pers. présentes')),
                ('motif_fin_suivi', models.CharField(blank=True, choices=[('desengagement', 'Désengagement'), ('evol_positive', 'Autonomie familiale'), ('relai_amb', 'Relai vers ambulatoire'), ('relai', 'Relai vers autre service'), ('placement', 'Placement'), ('non_aboutie', 'Demande non aboutie'), ('non_dispo', 'Pas de disponibilités/place'), ('erreur', 'Erreur de saisie'), ('autres', 'Autres')], max_length=20, verbose_name='Motif de fin de suivi')),
                ('famille', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to='aemo.famille')),
                ('ope_referent', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='aemo.contact', verbose_name='as. OPE')),
                ('ope_referent_2', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='aemo.contact', verbose_name='as. OPE 2')),
                ('sse_referent', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='aemo.contact', verbose_name='SSE')),
            ],
        ),
        migrations.CreateModel(
            name='Intervenant',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('date_debut', models.DateField(default=django.utils.timezone.now, verbose_name='Date début')),
                ('date_fin', models.DateField(blank=True, null=True, verbose_name='Date fin')),
                ('role', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='aemo.role')),
                ('suivi', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='aemo.suivi')),
                ('intervenant', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
            ],
        ),
        migrations.AddField(
            model_name='suivi',
            name='intervenants',
            field=models.ManyToManyField(blank=True, related_name='interventions', through='aemo.Intervenant', to=settings.AUTH_USER_MODEL),
        ),
        migrations.CreateModel(
            name='Rapport',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('date', models.DateField(verbose_name='Date du résumé')),
                ('situation', models.TextField(blank=True, verbose_name='Situation / contexte familial')),
                ('observations', models.TextField(blank=True, verbose_name='Observations, évolution et hypothèses')),
                ('projet', models.TextField(blank=True, verbose_name='Perspectives d’avenir')),
                ('famille', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='rapports', to='aemo.famille')),
                ('auteur', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to=settings.AUTH_USER_MODEL)),
                ('pres_interv', models.ManyToManyField(blank=True, related_name='+', to=settings.AUTH_USER_MODEL, verbose_name='Intervenants cités dans le résumé')),
                ('sig_interv', models.ManyToManyField(blank=True, related_name='+', to=settings.AUTH_USER_MODEL, verbose_name='Signature des intervenants')),
            ],
        ),
        migrations.CreateModel(
            name='Prestation',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('date_prestation', models.DateField(verbose_name='date de l’intervention')),
                ('duree', models.DurationField(verbose_name='durée')),
                ('familles_actives', models.PositiveSmallIntegerField(blank=True, default=0)),
                ('texte', models.TextField(blank=True, verbose_name='Contenu')),
                ('manque', models.BooleanField(default=False, verbose_name='Rendez-vous manqué')),
                ('fichier', models.FileField(blank=True, upload_to='prestations', verbose_name='Fichier/image')),
                ('famille', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='prestations', to='aemo.famille', verbose_name='Famille')),
                ('lib_prestation', models.ForeignKey(default=None, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='prestations_%(app_label)s', to='aemo.libelleprestation')),
                ('auteur', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to=settings.AUTH_USER_MODEL, verbose_name='auteur')),
                ('intervenants', models.ManyToManyField(related_name='prestations', to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'ordering': ('-date_prestation',),
                'permissions': (('edit_prest_prev_month', 'Modifier prestations du mois précédent'),),
            },
        ),
        migrations.CreateModel(
            name='JournalAcces',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('ordinaire', models.BooleanField(default=True)),
                ('quand', models.DateTimeField(auto_now_add=True)),
                ('famille', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='+', to='aemo.famille')),
                ('utilisateur', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='+', to=settings.AUTH_USER_MODEL)),
            ],
        ),
        migrations.CreateModel(
            name='Bilan',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('date', models.DateField(verbose_name='Date du bilan')),
                ('objectifs', models.TextField(verbose_name='Objectifs')),
                ('rythme', models.TextField(verbose_name='Rythme et fréquence')),
                ('sig_famille', models.BooleanField(default=True, verbose_name='Apposer signature de la famille')),
                ('fichier', models.FileField(blank=True, upload_to='bilans', verbose_name='Fichier/image')),
                ('famille', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='bilans', to='aemo.famille')),
                ('auteur', models.ForeignKey(null=True, on_delete=django.db.models.deletion.PROTECT, related_name='bilans', to=settings.AUTH_USER_MODEL)),
                ('sig_interv', models.ManyToManyField(blank=True, to=settings.AUTH_USER_MODEL, verbose_name='Signature des intervenants')),
            ],
        ),
        migrations.CreateModel(
            name='Document',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('fichier', models.FileField(upload_to='doc', verbose_name='Nouveau fichier')),
                ('titre', models.CharField(max_length=100)),
                ('famille', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='documents', to='aemo.famille')),
            ],
            options={
                'unique_together': {('famille', 'titre')},
            },
        ),
        migrations.AlterUniqueTogether(
            name='contact',
            unique_together={('nom', 'prenom', 'service')},
        ),
    ]
