383 lines
29 KiB
Python
383 lines
29 KiB
Python
|
# 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')},
|
|||
|
),
|
|||
|
]
|