aemo_fr/aemo/migrations/0001_initial.py
2024-06-03 16:49:01 +02:00

383 lines
29 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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')},
),
]