# Generated by Django 6.0.2 on 2026-02-13 23:13

import django.db.models.deletion
from django.db import migrations, models


class Migration(migrations.Migration):

    initial = True

    dependencies = [
    ]

    operations = [
        migrations.CreateModel(
            name='Certification',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('nom', models.CharField(max_length=200, verbose_name='nom')),
                ('nom_fr', models.CharField(max_length=200, null=True, verbose_name='nom')),
                ('nom_en', models.CharField(max_length=200, null=True, verbose_name='nom')),
                ('numero', models.CharField(help_text='Ex: ISO 9001:2015', max_length=100, verbose_name='numéro')),
                ('organisme', models.CharField(max_length=200, verbose_name='organisme')),
                ('description', models.TextField(verbose_name='description')),
                ('description_fr', models.TextField(null=True, verbose_name='description')),
                ('description_en', models.TextField(null=True, verbose_name='description')),
                ('logo', models.ImageField(blank=True, null=True, upload_to='certifications/', verbose_name='logo')),
                ('date_obtention', models.DateField(verbose_name="date d'obtention")),
                ('date_expiration', models.DateField(blank=True, null=True, verbose_name="date d'expiration")),
                ('document', models.FileField(blank=True, null=True, upload_to='certifications/docs/', verbose_name='document')),
                ('ordre', models.IntegerField(default=0, verbose_name='ordre')),
            ],
            options={
                'verbose_name': 'Certification',
                'verbose_name_plural': 'Certifications',
                'ordering': ['ordre', 'nom'],
            },
        ),
        migrations.CreateModel(
            name='Configuration',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('nom_entreprise', models.CharField(default='Vigilus Nettoyage', max_length=200, verbose_name="nom de l'entreprise")),
                ('nom_entreprise_fr', models.CharField(default='Vigilus Nettoyage', max_length=200, null=True, verbose_name="nom de l'entreprise")),
                ('nom_entreprise_en', models.CharField(default='Vigilus Nettoyage', max_length=200, null=True, verbose_name="nom de l'entreprise")),
                ('slogan', models.CharField(default='Excellence en nettoyage professionnel', max_length=300, verbose_name='slogan')),
                ('slogan_fr', models.CharField(default='Excellence en nettoyage professionnel', max_length=300, null=True, verbose_name='slogan')),
                ('slogan_en', models.CharField(default='Excellence en nettoyage professionnel', max_length=300, null=True, verbose_name='slogan')),
                ('telephone', models.CharField(max_length=20, verbose_name='téléphone')),
                ('email', models.EmailField(max_length=254, verbose_name='email')),
                ('adresse', models.TextField(verbose_name='adresse')),
                ('adresse_fr', models.TextField(null=True, verbose_name='adresse')),
                ('adresse_en', models.TextField(null=True, verbose_name='adresse')),
                ('horaires', models.TextField(help_text="Horaires d'ouverture", verbose_name='horaires')),
                ('horaires_fr', models.TextField(help_text="Horaires d'ouverture", null=True, verbose_name='horaires')),
                ('horaires_en', models.TextField(help_text="Horaires d'ouverture", null=True, verbose_name='horaires')),
                ('facebook_url', models.URLField(blank=True, verbose_name='URL Facebook')),
                ('linkedin_url', models.URLField(blank=True, verbose_name='URL LinkedIn')),
                ('instagram_url', models.URLField(blank=True, verbose_name='URL Instagram')),
                ('twitter_url', models.URLField(blank=True, verbose_name='URL Twitter')),
                ('logo', models.ImageField(blank=True, null=True, upload_to='config/', verbose_name='logo')),
                ('favicon', models.ImageField(blank=True, null=True, upload_to='config/', verbose_name='favicon')),
            ],
            options={
                'verbose_name': 'Configuration',
                'verbose_name_plural': 'Configuration',
            },
        ),
        migrations.CreateModel(
            name='Contact',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('nom', models.CharField(max_length=200, verbose_name='nom')),
                ('email', models.EmailField(max_length=254, verbose_name='email')),
                ('telephone', models.CharField(blank=True, max_length=20, verbose_name='téléphone')),
                ('sujet', models.CharField(max_length=200, verbose_name='sujet')),
                ('message', models.TextField(verbose_name='message')),
                ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='créé le')),
                ('lu', models.BooleanField(default=False, verbose_name='lu')),
            ],
            options={
                'verbose_name': 'Message de contact',
                'verbose_name_plural': 'Messages de contact',
                'ordering': ['-created_at'],
            },
        ),
        migrations.CreateModel(
            name='DemandeDevis',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('nom', models.CharField(max_length=200, verbose_name='nom')),
                ('entreprise', models.CharField(blank=True, max_length=200, verbose_name='entreprise')),
                ('email', models.EmailField(max_length=254, verbose_name='email')),
                ('telephone', models.CharField(max_length=20, verbose_name='téléphone')),
                ('type_service', models.CharField(choices=[('bureau', 'Nettoyage de bureaux'), ('industrie', 'Nettoyage industriel'), ('facade', 'Nettoyage de façades'), ('vitre', 'Nettoyage de vitres'), ('desinfection', 'Désinfection'), ('autre', 'Autre')], max_length=50, verbose_name='type de service')),
                ('surface', models.CharField(blank=True, help_text='Surface approximative', max_length=100, verbose_name='surface')),
                ('frequence', models.CharField(blank=True, help_text='Quotidien, Hebdomadaire, Mensuel...', max_length=100, verbose_name='fréquence')),
                ('message', models.TextField(verbose_name='message')),
                ('date_souhaitee', models.DateField(blank=True, null=True, verbose_name='date souhaitée')),
                ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='créé le')),
                ('traitee', models.BooleanField(default=False, verbose_name='traitée')),
            ],
            options={
                'verbose_name': 'Demande de devis',
                'verbose_name_plural': 'Demandes de devis',
                'ordering': ['-created_at'],
            },
        ),
        migrations.CreateModel(
            name='Service',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('titre', models.CharField(max_length=200, verbose_name='titre')),
                ('slug', models.SlugField(blank=True, unique=True)),
                ('description_courte', models.TextField(max_length=300, verbose_name='description courte')),
                ('description_complete', models.TextField(verbose_name='description complète')),
                ('icone', models.CharField(help_text="Nom de l'icône (ex: building, spray-can, drone)", max_length=50, verbose_name='icône')),
                ('image', models.ImageField(blank=True, null=True, upload_to='services/', verbose_name='image')),
                ('ordre', models.IntegerField(default=0, verbose_name='ordre')),
                ('actif', models.BooleanField(default=True, verbose_name='actif')),
                ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='créé le')),
            ],
            options={
                'verbose_name': 'Service',
                'verbose_name_plural': 'Services',
                'ordering': ['ordre', 'titre'],
            },
        ),
        migrations.CreateModel(
            name='Projet',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('titre', models.CharField(max_length=200, verbose_name='titre')),
                ('titre_fr', models.CharField(max_length=200, null=True, verbose_name='titre')),
                ('titre_en', models.CharField(max_length=200, null=True, verbose_name='titre')),
                ('slug', models.SlugField(blank=True, unique=True)),
                ('client', models.CharField(blank=True, max_length=200, verbose_name='client')),
                ('client_fr', models.CharField(blank=True, max_length=200, null=True, verbose_name='client')),
                ('client_en', models.CharField(blank=True, max_length=200, null=True, verbose_name='client')),
                ('categorie', models.CharField(choices=[('bureau', 'Bureaux'), ('industrie', 'Industrie'), ('commerce', 'Commerce'), ('sante', 'Santé'), ('education', 'Éducation'), ('facade', 'Façades'), ('autre', 'Autre')], max_length=50, verbose_name='catégorie')),
                ('description', models.TextField(verbose_name='description')),
                ('description_fr', models.TextField(null=True, verbose_name='description')),
                ('description_en', models.TextField(null=True, verbose_name='description')),
                ('superficie', models.CharField(blank=True, help_text='Ex: 5000 m²', max_length=100, verbose_name='superficie')),
                ('duree', models.CharField(blank=True, help_text='Ex: 3 mois', max_length=100, verbose_name='durée')),
                ('image_principale', models.ImageField(upload_to='projets/', verbose_name='image principale')),
                ('image_avant', models.ImageField(blank=True, null=True, upload_to='projets/avant/', verbose_name='image avant')),
                ('image_apres', models.ImageField(blank=True, null=True, upload_to='projets/apres/', verbose_name='image après')),
                ('date_realisation', models.DateField(verbose_name='date de réalisation')),
                ('mis_en_avant', models.BooleanField(default=False, verbose_name='mis en avant')),
                ('actif', models.BooleanField(default=True, verbose_name='actif')),
                ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='créé le')),
                ('services_utilises', models.ManyToManyField(related_name='projets', to='core.service', verbose_name='services utilisés')),
            ],
            options={
                'verbose_name': 'Projet',
                'verbose_name_plural': 'Projets',
                'ordering': ['-date_realisation'],
            },
        ),
        migrations.CreateModel(
            name='Temoignage',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('nom_client', models.CharField(max_length=200, verbose_name='nom du client')),
                ('entreprise', models.CharField(max_length=200, verbose_name='entreprise')),
                ('poste', models.CharField(blank=True, max_length=200, verbose_name='poste')),
                ('poste_fr', models.CharField(blank=True, max_length=200, null=True, verbose_name='poste')),
                ('poste_en', models.CharField(blank=True, max_length=200, null=True, verbose_name='poste')),
                ('temoignage', models.TextField(verbose_name='témoignage')),
                ('temoignage_fr', models.TextField(null=True, verbose_name='témoignage')),
                ('temoignage_en', models.TextField(null=True, verbose_name='témoignage')),
                ('note', models.IntegerField(choices=[(1, 1), (2, 2), (3, 3), (4, 4), (5, 5)], default=5, verbose_name='note')),
                ('photo', models.ImageField(blank=True, null=True, upload_to='temoignages/', verbose_name='photo')),
                ('date', models.DateField(auto_now_add=True, verbose_name='date')),
                ('actif', models.BooleanField(default=True, verbose_name='actif')),
                ('projet', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='temoignages', to='core.projet', verbose_name='projet')),
            ],
            options={
                'verbose_name': 'Témoignage',
                'verbose_name_plural': 'Témoignages',
                'ordering': ['-date'],
            },
        ),
    ]
