Initial commit
This commit is contained in:
commit
793bb6a488
182 changed files with 17153 additions and 0 deletions
382
aemo/migrations/0001_initial.py
Normal file
382
aemo/migrations/0001_initial.py
Normal file
|
|
@ -0,0 +1,382 @@
|
|||
# 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')},
|
||||
),
|
||||
]
|
||||
21
aemo/migrations/0002_unaccent_extension.py
Normal file
21
aemo/migrations/0002_unaccent_extension.py
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
from django.db import migrations
|
||||
from django.contrib.postgres.operations import UnaccentExtension
|
||||
|
||||
# ref for this migration: https://stackoverflow.com/questions/47230566
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('aemo', '0001_initial'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
UnaccentExtension(),
|
||||
migrations.RunSQL("CREATE TEXT SEARCH CONFIGURATION french_unaccent(COPY = french);"),
|
||||
migrations.RunSQL(
|
||||
"ALTER TEXT SEARCH CONFIGURATION french_unaccent "
|
||||
"ALTER MAPPING FOR hword, hword_part, word "
|
||||
"WITH unaccent, french_stem;"
|
||||
),
|
||||
]
|
||||
0
aemo/migrations/__init__.py
Normal file
0
aemo/migrations/__init__.py
Normal file
Loading…
Add table
Add a link
Reference in a new issue