100 lines
5.8 KiB
Python
100 lines
5.8 KiB
Python
# Generated by Django 5.2.8 on 2026-05-21 13:51
|
||
|
||
import authorizations.models
|
||
import django.contrib.gis.db.models.fields
|
||
import django.db.models.deletion
|
||
from django.conf import settings
|
||
from django.db import migrations, models
|
||
|
||
|
||
class Migration(migrations.Migration):
|
||
|
||
initial = True
|
||
|
||
dependencies = [
|
||
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
||
]
|
||
|
||
operations = [
|
||
migrations.CreateModel(
|
||
name='VerifiedEmail',
|
||
fields=[
|
||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||
('email', models.EmailField(max_length=254, unique=True, verbose_name='Email')),
|
||
('verified_at', models.DateTimeField(auto_now_add=True)),
|
||
],
|
||
options={
|
||
'verbose_name': 'Email vérifié',
|
||
'verbose_name_plural': 'Emails vérifiés',
|
||
},
|
||
),
|
||
migrations.CreateModel(
|
||
name='RoadAuthorization',
|
||
fields=[
|
||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||
('code', models.CharField(default='', max_length=50)),
|
||
('status', models.IntegerField(choices=[(1, 'À traiter'), (2, 'En cours'), (3, 'Autorisé'), (4, 'Refusé'), (5, 'Clôturé')], default=1)),
|
||
('language', models.CharField(choices=[('fr', 'Français'), ('nl', 'Nederlands'), ('en', 'English')], default='fr', max_length=5, verbose_name='Langue')),
|
||
('is_email_verified', models.BooleanField(default=False, help_text="Indique si l'adresse email du demandeur a été vérifiée.", verbose_name='Email vérifié')),
|
||
('type', models.IntegerField(choices=[(2, 'Affichage (panneau, ...)'), (21, 'Terrasse'), (22, 'Mobilier urbain'), (23, "Œuvre d'art"), (32, 'Nouvel Emplacement PMR'), (33, 'Nouvelle Zone de livraison'), (34, 'Tournage audiovisuel'), (100, 'Evénement'), (51, 'Plante grimpante'), (52, "Pied d'arbre")], verbose_name="Type d'occupation")),
|
||
('description', models.TextField(verbose_name='Description de la demande')),
|
||
('applicant_name', models.CharField(max_length=100, verbose_name='Nom')),
|
||
('applicant_email', models.EmailField(max_length=254, verbose_name='Email')),
|
||
('applicant_address', models.CharField(max_length=300, verbose_name='Adresse')),
|
||
('applicant_enterprise', models.CharField(blank=True, max_length=100, null=True, verbose_name='Entreprise')),
|
||
('creation_date', models.DateTimeField(auto_now_add=True)),
|
||
('update_date', models.DateTimeField(auto_now=True)),
|
||
('agent_comment', models.TextField(blank=True, null=True, verbose_name='Commentaire')),
|
||
('location', models.CharField(max_length=500, verbose_name='Localisation – Adresse')),
|
||
('geom', django.contrib.gis.db.models.fields.MultiPolygonField(srid=4326, verbose_name='Localisation')),
|
||
('agent', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL, verbose_name='Agent traitant')),
|
||
],
|
||
options={
|
||
'verbose_name': 'Autorisation de voirie',
|
||
'verbose_name_plural': 'Autorisations de voirie',
|
||
'ordering': ['status', '-code'],
|
||
},
|
||
),
|
||
migrations.CreateModel(
|
||
name='EmailVerificationToken',
|
||
fields=[
|
||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||
('code', models.CharField(max_length=6)),
|
||
('created_at', models.DateTimeField(auto_now_add=True)),
|
||
('expires_at', models.DateTimeField()),
|
||
('attempts', models.PositiveSmallIntegerField(default=0)),
|
||
('authorization', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='verification_token', to='authorizations.roadauthorization')),
|
||
],
|
||
options={
|
||
'verbose_name': 'Code de vérification',
|
||
'verbose_name_plural': 'Codes de vérification',
|
||
},
|
||
),
|
||
migrations.CreateModel(
|
||
name='RoadAuthorizationDate',
|
||
fields=[
|
||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||
('begin_date', models.DateTimeField(verbose_name="Début de l'occupation")),
|
||
('end_date', models.DateTimeField(blank=True, null=True, verbose_name="Fin de l'occupation")),
|
||
('authorization', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='dates', to='authorizations.roadauthorization')),
|
||
],
|
||
options={
|
||
'verbose_name': "Date d'occupation",
|
||
'verbose_name_plural': "Dates d'occupation",
|
||
'ordering': ['begin_date'],
|
||
},
|
||
),
|
||
migrations.CreateModel(
|
||
name='RoadAuthorizationDocument',
|
||
fields=[
|
||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||
('file', models.FileField(upload_to='authorizations_documents/', validators=[authorizations.models.validate_file_size], verbose_name='Fichier')),
|
||
('description', models.CharField(max_length=200, verbose_name='Description')),
|
||
('authorization', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='documents', to='authorizations.roadauthorization')),
|
||
],
|
||
options={
|
||
'verbose_name': 'Document',
|
||
'verbose_name_plural': 'Documents',
|
||
},
|
||
),
|
||
]
|