-- Données de démonstration pour Hub Email
-- Exécuter après schema.sql pour avoir des données de test

-- Utilisateur administrateur par défaut
INSERT INTO `email_users` (`guilmaut_uid`, `email`, `nom`, `prenom`, `actif`, `created_at`, `updated_at`) VALUES
('admin_dev', 'admin@guilmaut.com', 'Admin', 'Système', 1, NOW(), NOW()),
('marie.martin', 'marie.martin@guilmaut.com', 'Martin', 'Marie', 1, NOW(), NOW()),
('jean.dupuis', 'jean.dupuis@guilmaut.com', 'Dupuis', 'Jean', 1, NOW(), NOW());

-- Attribution des rôles
INSERT INTO `email_user_roles` (`user_id`, `role_id`, `created_at`)
SELECT u.id, r.id, NOW()
FROM `email_users` u, `email_roles` r
WHERE (u.email = 'admin@guilmaut.com' AND r.code = 'admin')
   OR (u.email = 'marie.martin@guilmaut.com' AND r.code = 'secretaire')
   OR (u.email = 'jean.dupuis@guilmaut.com' AND r.code = 'secretaire');

-- Formulaire d'exemple 1 : Informations client
INSERT INTO `email_forms` (`nom`, `form_key`, `form_order`, `version`, `statut`, `schema_json`, `created_by`, `created_at`, `updated_at`) 
SELECT 
    'Informations Client',
    'info_client',
    1,
    1,
    'publie',
    JSON_OBJECT(
        'fields', JSON_ARRAY(
            JSON_OBJECT(
                'key', 'client_civilite',
                'type', 'radio',
                'label', 'Civilité',
                'required', true,
                'options', JSON_ARRAY(
                    JSON_OBJECT('value', 'M', 'label', 'Monsieur'),
                    JSON_OBJECT('value', 'Mme', 'label', 'Madame')
                )
            ),
            JSON_OBJECT(
                'key', 'client_nom',
                'type', 'text',
                'label', 'Nom',
                'placeholder', 'Votre nom de famille',
                'required', true,
                'min_length', '2',
                'max_length', '50'
            ),
            JSON_OBJECT(
                'key', 'client_prenom',
                'type', 'text',
                'label', 'Prénom',
                'placeholder', 'Votre prénom',
                'required', true,
                'min_length', '2',
                'max_length', '50'
            ),
            JSON_OBJECT(
                'key', 'client_email',
                'type', 'email',
                'label', 'Adresse email',
                'placeholder', 'votre.email@example.com',
                'required', true
            ),
            JSON_OBJECT(
                'key', 'client_telephone',
                'type', 'tel',
                'label', 'Numéro de téléphone',
                'placeholder', '01 23 45 67 89',
                'required', true
            ),
            JSON_OBJECT(
                'key', 'date_naissance',
                'type', 'date',
                'label', 'Date de naissance',
                'required', false
            ),
            JSON_OBJECT(
                'key', 'situation_familiale',
                'type', 'select',
                'label', 'Situation familiale',
                'required', false,
                'options', JSON_ARRAY(
                    JSON_OBJECT('value', 'celibataire', 'label', 'Célibataire'),
                    JSON_OBJECT('value', 'marie', 'label', 'Marié(e)'),
                    JSON_OBJECT('value', 'pacs', 'label', 'Pacsé(e)'),
                    JSON_OBJECT('value', 'divorce', 'label', 'Divorcé(e)'),
                    JSON_OBJECT('value', 'veuf', 'label', 'Veuf/Veuve')
                )
            ),
            JSON_OBJECT(
                'key', 'profession',
                'type', 'text',
                'label', 'Profession',
                'placeholder', 'Votre profession',
                'required', false
            ),
            JSON_OBJECT(
                'key', 'commentaires_client',
                'type', 'textarea',
                'label', 'Commentaires ou demandes particulières',
                'placeholder', 'Précisez vos souhaits ou questions...',
                'required', false,
                'rows', '4'
            )
        )
    ),
    u.id,
    NOW(),
    NOW()
FROM `email_users` u WHERE u.email = 'admin@guilmaut.com' LIMIT 1;

-- Formulaire d'exemple 2 : Projet véhicule
INSERT INTO `email_forms` (`nom`, `form_key`, `form_order`, `version`, `statut`, `schema_json`, `created_by`, `created_at`, `updated_at`) 
SELECT 
    'Projet Véhicule',
    'projet_vehicule',
    2,
    1,
    'publie',
    JSON_OBJECT(
        'fields', JSON_ARRAY(
            JSON_OBJECT(
                'key', 'type_projet',
                'type', 'radio',
                'label', 'Type de projet',
                'required', true,
                'options', JSON_ARRAY(
                    JSON_OBJECT('value', 'achat_neuf', 'label', 'Achat véhicule neuf'),
                    JSON_OBJECT('value', 'achat_occasion', 'label', 'Achat véhicule d\'occasion'),
                    JSON_OBJECT('value', 'reprise', 'label', 'Reprise de véhicule'),
                    JSON_OBJECT('value', 'financement', 'label', 'Financement uniquement')
                )
            ),
            JSON_OBJECT(
                'key', 'marque_souhaitee',
                'type', 'checkbox',
                'label', 'Marque(s) souhaitée(s)',
                'required', true,
                'options', JSON_ARRAY(
                    JSON_OBJECT('value', 'renault', 'label', 'Renault'),
                    JSON_OBJECT('value', 'dacia', 'label', 'Dacia'),
                    JSON_OBJECT('value', 'alpine', 'label', 'Alpine'),
                    JSON_OBJECT('value', 'autres', 'label', 'Autres marques')
                )
            ),
            JSON_OBJECT(
                'key', 'modele_interesse',
                'type', 'text',
                'label', 'Modèle qui vous intéresse',
                'placeholder', 'Ex: Clio, Megane, Duster...',
                'required', false
            ),
            JSON_OBJECT(
                'key', 'budget_max',
                'type', 'number',
                'label', 'Budget maximum (€)',
                'placeholder', '25000',
                'required', false,
                'min', '5000',
                'max', '100000',
                'step', '1000'
            ),
            JSON_OBJECT(
                'key', 'financement_souhaite',
                'type', 'select',
                'label', 'Type de financement souhaité',
                'required', false,
                'options', JSON_ARRAY(
                    JSON_OBJECT('value', 'comptant', 'label', 'Paiement comptant'),
                    JSON_OBJECT('value', 'credit', 'label', 'Crédit classique'),
                    JSON_OBJECT('value', 'loa', 'label', 'Location avec option d\'achat (LOA)'),
                    JSON_OBJECT('value', 'lld', 'label', 'Location longue durée (LLD)')
                )
            ),
            JSON_OBJECT(
                'key', 'delai_souhaite',
                'type', 'select',
                'label', 'Délai souhaité pour l\'acquisition',
                'required', false,
                'options', JSON_ARRAY(
                    JSON_OBJECT('value', 'immediat', 'label', 'Immédiat (moins d\'1 mois)'),
                    JSON_OBJECT('value', '1_3_mois', 'label', '1 à 3 mois'),
                    JSON_OBJECT('value', '3_6_mois', 'label', '3 à 6 mois'),
                    JSON_OBJECT('value', 'plus_6_mois', 'label', 'Plus de 6 mois')
                )
            ),
            JSON_OBJECT(
                'key', 'vehicule_actuel',
                'type', 'text',
                'label', 'Véhicule actuel (marque/modèle/année)',
                'placeholder', 'Ex: Renault Clio 2018',
                'required', false
            ),
            JSON_OBJECT(
                'key', 'reprise_souhaitee',
                'type', 'radio',
                'label', 'Souhaitez-vous faire reprendre votre véhicule actuel ?',
                'required', false,
                'options', JSON_ARRAY(
                    JSON_OBJECT('value', 'oui', 'label', 'Oui'),
                    JSON_OBJECT('value', 'non', 'label', 'Non'),
                    JSON_OBJECT('value', 'peut_etre', 'label', 'Peut-être, à étudier')
                )
            ),
            JSON_OBJECT(
                'key', 'commentaires_projet',
                'type', 'textarea',
                'label', 'Détails sur votre projet',
                'placeholder', 'Décrivez vos besoins, préférences, contraintes...',
                'required', false,
                'rows', '4'
            )
        )
    ),
    u.id,
    NOW(),
    NOW()
FROM `email_users` u WHERE u.email = 'admin@guilmaut.com' LIMIT 1;

-- Template email pour le formulaire 1
INSERT INTO `email_templates` (`name`, `form_order`, `subject`, `html`, `version`, `status`, `created_by`, `created_at`, `updated_at`)
SELECT 
    'Confirmation informations client',
    1,
    'Confirmation de réception - {{client.nom}} {{client.prenom}}',
    CONCAT(
        '<div style="max-width: 600px; margin: 0 auto; font-family: Arial, sans-serif; background: #ffffff;">',
        '<header style="background: #0066cc; color: white; padding: 30px 20px; text-align: center;">',
        '<h1 style="margin: 0; font-size: 28px;">Groupe Guilmaut</h1>',
        '<p style="margin: 10px 0 0; font-size: 16px; opacity: 0.9;">Concessionnaire Renault - Dacia</p>',
        '</header>',
        '<main style="padding: 40px 30px;">',
        '<h2 style="color: #0066cc; margin-top: 0;">Bonjour {{form.client_civilite}} {{form.client_prenom}} {{form.client_nom}},</h2>',
        '<p style="font-size: 16px; line-height: 1.6; margin-bottom: 25px;">',
        'Nous avons bien reçu vos informations et vous en remercions. Votre dossier client a été créé avec le numéro <strong>{{client.code_dossier}}</strong>.',
        '</p>',
        '<div style="background: #f8f9fa; padding: 25px; border-radius: 8px; border-left: 4px solid #0066cc; margin: 30px 0;">',
        '<h3 style="color: #0066cc; margin-top: 0; font-size: 18px;">Récapitulatif de vos informations :</h3>',
        '<ul style="margin: 15px 0; padding-left: 20px; line-height: 1.8;">',
        '<li><strong>Email :</strong> {{form.client_email}}</li>',
        '<li><strong>Téléphone :</strong> {{form.client_telephone}}</li>',
        '{{#if form.profession}}<li><strong>Profession :</strong> {{form.profession}}</li>{{/if}}',
        '{{#if form.situation_familiale}}<li><strong>Situation :</strong> {{form.situation_familiale}}</li>{{/if}}',
        '</ul>',
        '{{#if form.commentaires_client}}',
        '<p><strong>Vos commentaires :</strong><br>',
        '<em>"{{form.commentaires_client}}"</em></p>',
        '{{/if}}',
        '</div>',
        '<p style="font-size: 16px; line-height: 1.6;">',
        'Nous allons étudier votre profil et reviendrons vers vous très prochainement pour la suite de votre dossier.',
        '</p>',
        '<p style="font-size: 16px; line-height: 1.6;">',
        'Si vous avez des questions, n''hésitez pas à nous contacter par téléphone ou par email.',
        '</p>',
        '<p style="font-size: 16px; line-height: 1.6; margin-top: 30px;">',
        'Cordialement,<br>',
        '<strong>{{user.prenom}} {{user.nom}}</strong><br>',
        '<span style="color: #666;">{{user.email}}</span>',
        '</p>',
        '</main>',
        '<footer style="background: #f1f3f4; padding: 25px 30px; text-align: center; font-size: 14px; color: #666;">',
        '<p style="margin: 0 0 10px;">',
        '<strong>Groupe Guilmaut</strong> - Concessionnaire Renault & Dacia<br>',
        'Votre satisfaction est notre priorité',
        '</p>',
        '<p style="margin: 0; font-size: 12px;">',
        'Email envoyé automatiquement le {{now}}<br>',
        '© {{year}} Groupe Guilmaut - Tous droits réservés',
        '</p>',
        '</footer>',
        '</div>'
    ),
    1,
    'publie',
    u.id,
    NOW(),
    NOW()
FROM `email_users` u WHERE u.email = 'admin@guilmaut.com' LIMIT 1;

-- Template email pour le formulaire 2  
INSERT INTO `email_templates` (`name`, `form_order`, `subject`, `html`, `version`, `status`, `created_by`, `created_at`, `updated_at`)
SELECT 
    'Étude projet véhicule',
    2,
    'Votre projet véhicule - {{form.modele_interesse}} - {{client.nom}}',
    CONCAT(
        '<div style="max-width: 600px; margin: 0 auto; font-family: Arial, sans-serif; background: #ffffff;">',
        '<header style="background: linear-gradient(135deg, #0066cc 0%, #004499 100%); color: white; padding: 30px 20px; text-align: center;">',
        '<h1 style="margin: 0; font-size: 28px;">Votre Projet Véhicule</h1>',
        '<p style="margin: 10px 0 0; font-size: 16px; opacity: 0.9;">Groupe Guilmaut vous accompagne</p>',
        '</header>',
        '<main style="padding: 40px 30px;">',
        '<h2 style="color: #0066cc; margin-top: 0;">{{form.client_civilite}} {{form.client_prenom}} {{form.client_nom}},</h2>',
        '<p style="font-size: 16px; line-height: 1.6; margin-bottom: 25px;">',
        'Merci d''avoir précisé votre projet véhicule. Nos équipes vont étudier votre demande et vous proposer les meilleures solutions.',
        '</p>',
        '<div style="background: #e8f4fd; padding: 25px; border-radius: 8px; border: 2px solid #b3d9ff; margin: 30px 0;">',
        '<h3 style="color: #0066cc; margin-top: 0; font-size: 18px;">📋 Résumé de votre projet :</h3>',
        '<div style="background: white; padding: 20px; border-radius: 5px; margin-top: 15px;">',
        '<p style="margin: 0 0 10px 0;"><strong>Type :</strong> {{form.type_projet}}</p>',
        '<p style="margin: 0 0 10px 0;"><strong>Marques :</strong> {{form.marque_souhaitee}}</p>',
        '{{#if form.modele_interesse}}<p style="margin: 0 0 10px 0;"><strong>Modèle :</strong> {{form.modele_interesse}}</p>{{/if}}',
        '{{#if form.budget_max}}<p style="margin: 0 0 10px 0;"><strong>Budget max :</strong> {{form.budget_max}} €</p>{{/if}}',
        '{{#if form.financement_souhaite}}<p style="margin: 0 0 10px 0;"><strong>Financement :</strong> {{form.financement_souhaite}}</p>{{/if}}',
        '{{#if form.delai_souhaite}}<p style="margin: 0 0 10px 0;"><strong>Délai :</strong> {{form.delai_souhaite}}</p>{{/if}}',
        '</div>',
        '</div>',
        '{{#if form.vehicule_actuel}}',
        '<div style="background: #fff3cd; padding: 20px; border-radius: 8px; border-left: 4px solid #ffc107; margin: 20px 0;">',
        '<h4 style="color: #856404; margin-top: 0;">🚗 Véhicule actuel</h4>',
        '<p style="margin: 0;"><strong>{{form.vehicule_actuel}}</strong></p>',
        '{{#if form.reprise_souhaitee}}<p style="margin: 10px 0 0; font-size: 14px;">Reprise souhaitée : {{form.reprise_souhaitee}}</p>{{/if}}',
        '</div>',
        '{{/if}}',
        '{{#if form.commentaires_projet}}',
        '<div style="background: #f8f9fa; padding: 20px; border-radius: 8px; margin: 20px 0;">',
        '<h4 style="color: #495057; margin-top: 0;">💬 Vos commentaires</h4>',
        '<p style="margin: 0; font-style: italic;">"{{form.commentaires_projet}}"</p>',
        '</div>',
        '{{/if}}',
        '<div style="background: #d1ecf1; padding: 25px; border-radius: 8px; border-left: 4px solid #17a2b8; margin: 30px 0;">',
        '<h3 style="color: #0c5460; margin-top: 0; font-size: 18px;">🎯 Prochaines étapes</h3>',
        '<ol style="margin: 15px 0; padding-left: 25px; line-height: 1.8;">',
        '<li>Analyse de votre profil et de vos besoins</li>',
        '<li>Sélection des véhicules correspondants</li>',
        '<li>Préparation des offres personnalisées</li>',
        '<li>Prise de contact pour rendez-vous</li>',
        '</ol>',
        '</div>',
        '<p style="font-size: 16px; line-height: 1.6;">',
        'Nous vous recontacterons <strong>dans les 48h ouvrées</strong> pour vous présenter nos propositions.',
        '</p>',
        '<p style="font-size: 16px; line-height: 1.6; margin-top: 30px;">',
        'Très cordialement,<br>',
        '<strong>{{user.prenom}} {{user.nom}}</strong><br>',
        '<span style="color: #666;">Conseiller Commercial</span><br>',
        '<span style="color: #666;">📧 {{user.email}}</span>',
        '</p>',
        '</main>',
        '<footer style="background: #2c3e50; color: white; padding: 30px; text-align: center;">',
        '<div style="margin-bottom: 20px;">',
        '<h4 style="color: #ffffff; margin: 0 0 15px;">Groupe Guilmaut</h4>',
        '<p style="margin: 0; opacity: 0.8;">Concessionnaire Renault & Dacia depuis 1987</p>',
        '</div>',
        '<div style="border-top: 1px solid rgba(255,255,255,0.2); padding-top: 20px; font-size: 12px; opacity: 0.7;">',
        '<p style="margin: 0;">Email automatique envoyé le {{now}}</p>',
        '<p style="margin: 5px 0 0;">© {{year}} Groupe Guilmaut - Tous droits réservés</p>',
        '</div>',
        '</footer>',
        '</div>'
    ),
    1,
    'publie',
    u.id,
    NOW(),
    NOW()
FROM `email_users` u WHERE u.email = 'admin@guilmaut.com' LIMIT 1;

-- Clients d'exemple
INSERT INTO `email_clients` (`code_dossier`, `nom`, `prenom`, `email`, `tel`, `owner_user_id`, `statut_global`, `created_at`, `updated_at`) 
SELECT 
    'CLI_2023_0001',
    'Dupont', 
    'Jean',
    'jean.dupont@example.com',
    '01 23 45 67 89',
    u.id,
    'nouveau',
    DATE_SUB(NOW(), INTERVAL 2 DAY),
    DATE_SUB(NOW(), INTERVAL 2 DAY)
FROM `email_users` u WHERE u.email = 'marie.martin@guilmaut.com' LIMIT 1;

INSERT INTO `email_clients` (`code_dossier`, `nom`, `prenom`, `email`, `tel`, `owner_user_id`, `statut_global`, `created_at`, `updated_at`) 
SELECT 
    'CLI_2023_0002',
    'Leroy', 
    'Sophie',
    'sophie.leroy@example.com',
    '06 78 90 12 34',
    u.id,
    'en_cours',
    DATE_SUB(NOW(), INTERVAL 5 DAY),
    DATE_SUB(NOW(), INTERVAL 1 DAY)
FROM `email_users` u WHERE u.email = 'jean.dupuis@guilmaut.com' LIMIT 1;

-- Créer les étapes pour les clients
INSERT INTO `email_client_stage` (`client_id`, `form_order`, `status`, `mail_status`, `updated_at`)
SELECT c.id, f.form_order, 'non_demarre', 'non_requis', NOW()
FROM `email_clients` c
CROSS JOIN `email_forms` f
WHERE f.statut = 'publie';

-- Marquer quelques étapes comme complétées pour le client Sophie Leroy
UPDATE `email_client_stage` 
SET `status` = 'complete', `mail_status` = 'envoye', `completed_at` = DATE_SUB(NOW(), INTERVAL 1 DAY), `mail_sent_at` = DATE_SUB(NOW(), INTERVAL 1 DAY)
WHERE `client_id` = (SELECT id FROM `email_clients` WHERE `code_dossier` = 'CLI_2023_0002')
AND `form_order` = 1;

-- Configuration système de base
INSERT INTO `email_config` (`key`, `value`, `type`, `description`, `updated_at`) VALUES
('app_setup_complete', '1', 'boolean', 'Installation terminée', NOW()),
('last_backup', '', 'string', 'Date de dernière sauvegarde', NOW()),
('maintenance_mode', '0', 'boolean', 'Mode maintenance activé', NOW()) 
ON DUPLICATE KEY UPDATE `value` = VALUES(`value`), `updated_at` = NOW();

-- Mise à jour des statistiques
UPDATE `email_clients` SET `updated_at` = NOW() WHERE `code_dossier` IN ('CLI_2023_0001', 'CLI_2023_0002');
