aemo_fr/aemo/migrations/0001_initial.py

383 lines
29 KiB
Python
Raw Normal View History

2024-06-03 16:49:01 +02:00
# 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 daccueil 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 daccueil 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 dactivité (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 dintervention')),
('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 lAEMO 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 à lintégration'), ('demande', 'Elaboration dune 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 davenir')),
('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 lintervention')),
('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')},
),
]