mirror of
https://git.v0id.ovh/n3wt-innov/n3wt-school.git
synced 2026-01-28 23:43:22 +00:00
214 lines
14 KiB
Python
214 lines
14 KiB
Python
# Generated by Django 5.1.3 on 2025-05-28 11:14
|
|
|
|
import Subscriptions.models
|
|
import django.db.models.deletion
|
|
from django.conf import settings
|
|
from django.db import migrations, models
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
|
|
initial = True
|
|
|
|
dependencies = [
|
|
('Auth', '__first__'),
|
|
('Common', '0001_initial'),
|
|
('Establishment', '0001_initial'),
|
|
('School', '__first__'),
|
|
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
|
]
|
|
|
|
operations = [
|
|
migrations.CreateModel(
|
|
name='Language',
|
|
fields=[
|
|
('id', models.AutoField(primary_key=True, serialize=False)),
|
|
('label', models.CharField(default='', max_length=200)),
|
|
],
|
|
),
|
|
migrations.CreateModel(
|
|
name='Student',
|
|
fields=[
|
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
('photo', models.FileField(blank=True, null=True, upload_to=Subscriptions.models.registration_photo_upload_to)),
|
|
('last_name', models.CharField(default='', max_length=200)),
|
|
('first_name', models.CharField(default='', max_length=200)),
|
|
('gender', models.IntegerField(blank=True, choices=[(0, 'Sélection du genre'), (1, 'Garçon'), (2, 'Fille')], default=0)),
|
|
('nationality', models.CharField(blank=True, default='', max_length=200)),
|
|
('address', models.CharField(blank=True, default='', max_length=200)),
|
|
('birth_date', models.DateField(blank=True, null=True)),
|
|
('birth_place', models.CharField(blank=True, default='', max_length=200)),
|
|
('birth_postal_code', models.IntegerField(blank=True, default=0)),
|
|
('attending_physician', models.CharField(blank=True, default='', max_length=200)),
|
|
('associated_class', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='students', to='School.schoolclass')),
|
|
],
|
|
),
|
|
migrations.CreateModel(
|
|
name='RegistrationSchoolFileTemplate',
|
|
fields=[
|
|
('id', models.IntegerField(primary_key=True, serialize=False)),
|
|
('slug', models.CharField(default='', max_length=255)),
|
|
('name', models.CharField(default='', max_length=255)),
|
|
('file', models.FileField(blank=True, null=True, upload_to=Subscriptions.models.registration_school_file_upload_to)),
|
|
],
|
|
),
|
|
migrations.CreateModel(
|
|
name='Sibling',
|
|
fields=[
|
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
('last_name', models.CharField(blank=True, max_length=200, null=True)),
|
|
('first_name', models.CharField(blank=True, max_length=200, null=True)),
|
|
('birth_date', models.DateField(blank=True, null=True)),
|
|
],
|
|
),
|
|
migrations.CreateModel(
|
|
name='Guardian',
|
|
fields=[
|
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
('last_name', models.CharField(blank=True, max_length=200, null=True)),
|
|
('first_name', models.CharField(blank=True, max_length=200, null=True)),
|
|
('birth_date', models.DateField(blank=True, null=True)),
|
|
('address', models.CharField(blank=True, default='', max_length=200)),
|
|
('phone', models.CharField(blank=True, default='', max_length=200)),
|
|
('profession', models.CharField(blank=True, default='', max_length=200)),
|
|
('profile_role', models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='guardian_profile', to='Auth.profilerole')),
|
|
],
|
|
),
|
|
migrations.CreateModel(
|
|
name='RegistrationFileGroup',
|
|
fields=[
|
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
('name', models.CharField(default='', max_length=255)),
|
|
('description', models.TextField(blank=True, null=True)),
|
|
('establishment', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='file_group', to='Establishment.establishment')),
|
|
],
|
|
),
|
|
migrations.CreateModel(
|
|
name='RegistrationForm',
|
|
fields=[
|
|
('student', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, primary_key=True, serialize=False, to='Subscriptions.student')),
|
|
('status', models.IntegerField(choices=[(0, "Pas de dossier d'inscription"), (1, "Dossier d'inscription initialisé"), (2, "Dossier d'inscription envoyé"), (3, "Dossier d'inscription en cours de validation"), (4, "Dossier d'inscription à relancer"), (5, "Dossier d'inscription validé"), (6, "Dossier d'inscription archivé"), (7, 'Mandat SEPA envoyé'), (8, 'Mandat SEPA à envoyer')], default=0)),
|
|
('last_update', models.DateTimeField(auto_now=True)),
|
|
('school_year', models.CharField(blank=True, default='', max_length=9)),
|
|
('notes', models.CharField(blank=True, max_length=200)),
|
|
('registration_link_code', models.CharField(blank=True, default='', max_length=200)),
|
|
('registration_file', models.FileField(blank=True, null=True, upload_to=Subscriptions.models.registration_file_path)),
|
|
('sepa_file', models.FileField(blank=True, null=True, upload_to=Subscriptions.models.registration_file_path)),
|
|
('fusion_file', models.FileField(blank=True, null=True, upload_to=Subscriptions.models.registration_file_path)),
|
|
('associated_rf', models.CharField(blank=True, default='', max_length=200)),
|
|
('discounts', models.ManyToManyField(blank=True, related_name='register_forms', to='School.discount')),
|
|
('establishment', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='register_forms', to='Establishment.establishment')),
|
|
('fees', models.ManyToManyField(blank=True, related_name='register_forms', to='School.fee')),
|
|
('fileGroup', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='register_forms', to='Subscriptions.registrationfilegroup')),
|
|
('registration_payment', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='registration_payment_modes_forms', to='School.paymentmode')),
|
|
('registration_payment_plan', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='registration_payment_plans_forms', to='School.paymentplan')),
|
|
('tuition_payment', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='tuition_payment_modes_forms', to='School.paymentmode')),
|
|
('tuition_payment_plan', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='tuition_payment_plans_forms', to='School.paymentplan')),
|
|
],
|
|
),
|
|
migrations.AddField(
|
|
model_name='student',
|
|
name='guardians',
|
|
field=models.ManyToManyField(blank=True, to='Subscriptions.guardian'),
|
|
),
|
|
migrations.AddField(
|
|
model_name='student',
|
|
name='level',
|
|
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='students', to='Common.level'),
|
|
),
|
|
migrations.AddField(
|
|
model_name='student',
|
|
name='profiles',
|
|
field=models.ManyToManyField(blank=True, to=settings.AUTH_USER_MODEL),
|
|
),
|
|
migrations.AddField(
|
|
model_name='student',
|
|
name='spoken_languages',
|
|
field=models.ManyToManyField(blank=True, to='Subscriptions.language'),
|
|
),
|
|
migrations.CreateModel(
|
|
name='BilanCompetence',
|
|
fields=[
|
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
('file', models.FileField(blank=True, null=True, upload_to=Subscriptions.models.registration_bilan_form_upload_to)),
|
|
('period', models.CharField(help_text='Période ex: T1-2024_2025, S1-2024_2025, A-2024_2025', max_length=20)),
|
|
('created_at', models.DateTimeField(auto_now_add=True)),
|
|
('student', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='bilans', to='Subscriptions.student')),
|
|
],
|
|
),
|
|
migrations.CreateModel(
|
|
name='AbsenceManagement',
|
|
fields=[
|
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
('day', models.DateField(blank=True, null=True)),
|
|
('moment', models.IntegerField(choices=[(1, 'Morning'), (2, 'Afternoon'), (3, 'Total')], default=3)),
|
|
('reason', models.IntegerField(choices=[(1, 'Justified Absence'), (2, 'Unjustified Absence'), (3, 'Justified Late'), (4, 'Unjustified Late')], default=2)),
|
|
('commentaire', models.TextField(blank=True, null=True)),
|
|
('establishment', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='absences', to='Establishment.establishment')),
|
|
('student', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='absences', to='Subscriptions.student')),
|
|
],
|
|
),
|
|
migrations.CreateModel(
|
|
name='RegistrationParentFileMaster',
|
|
fields=[
|
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
('name', models.CharField(default='', max_length=255)),
|
|
('description', models.CharField(blank=True, null=True)),
|
|
('is_required', models.BooleanField(default=False)),
|
|
('groups', models.ManyToManyField(blank=True, related_name='parent_file_masters', to='Subscriptions.registrationfilegroup')),
|
|
],
|
|
),
|
|
migrations.CreateModel(
|
|
name='RegistrationSchoolFileMaster',
|
|
fields=[
|
|
('id', models.IntegerField(primary_key=True, serialize=False)),
|
|
('name', models.CharField(default='', max_length=255)),
|
|
('is_required', models.BooleanField(default=False)),
|
|
('groups', models.ManyToManyField(blank=True, related_name='school_file_masters', to='Subscriptions.registrationfilegroup')),
|
|
],
|
|
),
|
|
migrations.AddField(
|
|
model_name='student',
|
|
name='registration_files',
|
|
field=models.ManyToManyField(blank=True, related_name='students', to='Subscriptions.registrationschoolfiletemplate'),
|
|
),
|
|
migrations.AddField(
|
|
model_name='registrationschoolfiletemplate',
|
|
name='master',
|
|
field=models.ForeignKey(blank=True, on_delete=django.db.models.deletion.CASCADE, related_name='school_file_templates', to='Subscriptions.registrationschoolfilemaster'),
|
|
),
|
|
migrations.AddField(
|
|
model_name='student',
|
|
name='siblings',
|
|
field=models.ManyToManyField(blank=True, to='Subscriptions.sibling'),
|
|
),
|
|
migrations.AddField(
|
|
model_name='registrationschoolfiletemplate',
|
|
name='registration_form',
|
|
field=models.ForeignKey(blank=True, on_delete=django.db.models.deletion.CASCADE, related_name='school_file_templates', to='Subscriptions.registrationform'),
|
|
),
|
|
migrations.CreateModel(
|
|
name='RegistrationParentFileTemplate',
|
|
fields=[
|
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
('file', models.FileField(blank=True, null=True, upload_to=Subscriptions.models.registration_parent_file_upload_to)),
|
|
('master', models.ForeignKey(blank=True, on_delete=django.db.models.deletion.CASCADE, related_name='parent_file_templates', to='Subscriptions.registrationparentfilemaster')),
|
|
('registration_form', models.ForeignKey(blank=True, on_delete=django.db.models.deletion.CASCADE, related_name='parent_file_templates', to='Subscriptions.registrationform')),
|
|
],
|
|
),
|
|
migrations.CreateModel(
|
|
name='StudentCompetency',
|
|
fields=[
|
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
('score', models.IntegerField(blank=True, null=True)),
|
|
('comment', models.TextField(blank=True, null=True)),
|
|
('period', models.CharField(blank=True, default='', help_text="Période d'évaluation ex: T1-2024_2025, S1-2024_2025, A-2024_2025", max_length=20)),
|
|
('establishment_competency', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='student_scores', to='School.establishmentcompetency')),
|
|
('student', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='competency_scores', to='Subscriptions.student')),
|
|
],
|
|
options={
|
|
'unique_together': {('student', 'establishment_competency', 'period')},
|
|
},
|
|
),
|
|
]
|