Files
crm_ecosplay/templates/email/base.html.twig

67 lines
4.2 KiB
Twig
Raw Normal View History

fix: rendre les templates email compatibles avec tous les clients mail templates/email/base.html.twig: - Remplacement de la structure div par une structure table-based (role=presentation) pour compatibilite Outlook/Orange/SFR/Yahoo - Suppression de rgba(), linear-gradient(), border-radius, box-shadow (non supportes par Outlook Windows 2007-2019) - Ajout du doctype XHTML 1.0 Transitional pour Outlook - Ajout du bloc conditionnel <!--[if mso]> pour forcer Arial sur Outlook - Remplacement de margin: 0 par margin-top/right/bottom/left: 0 (margin shorthand non supporte par Orange, SFR, certains Outlook) - Remplacement de padding shorthand par padding-top/right/bottom/left dans le body et les cellules principales - Ajout de -webkit-text-size-adjust et -ms-text-size-adjust sur body - Logo: ajout de width et height auto explicites + border: 0 - Fond semi-transparent rgba(255,255,255,0.92) remplace par #ffffff opaque - Gradient gold remplace par background-color: #fabf04 fixe - Couleur footer rgba(255,255,255,0.7) remplacee par #b0b0b0 fixe - Entite &bull; remplacee par &#8226; pour compatibilite XHTML templates/emails/*.html.twig (9 fichiers): - Remplacement de toutes les proprietes margin shorthand par les proprietes longhand margin-top/margin-right/margin-bottom/margin-left dans 2fa_code, forgot_password_code, membre_created, password_changed, revendeur_created, rgpd_access, rgpd_attestation_signed, rgpd_deletion, rgpd_no_data Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 19:40:13 +02:00
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr">
2026-04-01 15:42:52 +02:00
<head>
fix: rendre les templates email compatibles avec tous les clients mail templates/email/base.html.twig: - Remplacement de la structure div par une structure table-based (role=presentation) pour compatibilite Outlook/Orange/SFR/Yahoo - Suppression de rgba(), linear-gradient(), border-radius, box-shadow (non supportes par Outlook Windows 2007-2019) - Ajout du doctype XHTML 1.0 Transitional pour Outlook - Ajout du bloc conditionnel <!--[if mso]> pour forcer Arial sur Outlook - Remplacement de margin: 0 par margin-top/right/bottom/left: 0 (margin shorthand non supporte par Orange, SFR, certains Outlook) - Remplacement de padding shorthand par padding-top/right/bottom/left dans le body et les cellules principales - Ajout de -webkit-text-size-adjust et -ms-text-size-adjust sur body - Logo: ajout de width et height auto explicites + border: 0 - Fond semi-transparent rgba(255,255,255,0.92) remplace par #ffffff opaque - Gradient gold remplace par background-color: #fabf04 fixe - Couleur footer rgba(255,255,255,0.7) remplacee par #b0b0b0 fixe - Entite &bull; remplacee par &#8226; pour compatibilite XHTML templates/emails/*.html.twig (9 fichiers): - Remplacement de toutes les proprietes margin shorthand par les proprietes longhand margin-top/margin-right/margin-bottom/margin-left dans 2fa_code, forgot_password_code, membre_created, password_changed, revendeur_created, rgpd_access, rgpd_attestation_signed, rgpd_deletion, rgpd_no_data Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 19:40:13 +02:00
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
feat: gestion complete Devis + Avis de paiement + DocuSeal signature + mails Devis : - Entity DevisLine (pos, title, description, priceHt) liee a Devis (OneToMany cascade/orphanRemoval) - Champs ajoutes sur Devis : customer (ManyToOne), submissionId, state machine (created/send/accepted/refused/cancel), raisonMessage, totaux HT/TVA/TTC, updatedAt, setUpdatedAt public - Relation Devis <-> Advert changee de ManyToOne a OneToOne nullable - Vich Attribute (migration Annotation -> Attribute) pour unsignedPdf/signedPdf/auditPdf - DevisController CRUD complet : create (form repeater lignes + boutons rapides TarificationService), edit, cancel (libere OrderNumber), generate-pdf, send, resend, create-advert, events - DevisPdf (FPDF/FPDI) : header legacy (logo, num, date, client), body lignes, summary totaux, footer SITECONSEIL + pagination, champ signature DocuSeal sur page devis + derniere page CGV - OrderNumberService : preview() et generate() reutilisent les OrderNumber non utilises (isUsed=false) en priorite - OrderNumber::markAsUnused() ajoute DocuSeal integration devis : - DocuSealService : sendDevisForSignature (avec completed_redirect_url), resendDevisSignature (archive ancienne submission), getSubmitterSlug, downloadSignedDevis (sauvegarde via Vich UploadedFile test=true) - WebhookDocuSealController : dispatch par doc_type devis/attestation, handleDevisEvent (form.completed -> STATE_ACCEPTED + download PDF signe/audit, form.declined -> STATE_REFUSED + raison) - DocusealEvent entity pour tracer form.viewed/started/completed/declined en temps reel - Page evenements admin /admin/devis/{id}/events avec badges et payload JSON Signature client : - DevisProcessController : page publique /devis/process/{id}/{hmac} securisee par HMAC, boutons Signer (redirect DocuSeal) / Refuser (motif optionnel) - Pages confirmation : signed.html.twig (merci + recap) et refused.html.twig (confirmation refus + motif) - Nelmio whitelist : signature.esy-web.dev + signature.siteconseil.fr Avis de paiement : - Entity AdvertLine (pos, title, description, priceHt) liee a Advert - Advert refactorise : customer, state, totaux, raisonMessage, submissionId, advertFile (Vich mapping advert_pdf), lines collection, updatedAt - AdvertController : generate-pdf, send (mail + PJ + lien paiement), resend (rappel), cancel (delie devis, libere OrderNumber), search Meilisearch - AdvertPdf (FPDF/FPDI) : QR code Endroid pointant vers /order/{numOrder}, texte "Scannez pour payer" - OrderPaymentController : page publique /order/{numOrder} avec detail prestations, totaux, options paiement (placeholder) - Creation auto depuis devis signe : copie client, totaux, lignes, meme OrderNumber Meilisearch : - Index customer_devis et customer_advert avec searchable (numOrder, customerName, customerEmail, state) et filterable (customerId, state) - CRUD indexation sur chaque action (create, edit, send, cancel, create-advert) - Recherche AJAX dans tabs Devis et Avis avec debounce + dropdown glassmorphism - Sync admin : boutons syncDevis / syncAdverts + compteurs dans /admin/sync Emails : - MailerService : VCF auto (fiche contact SARL SITECONSEIL) en PJ sur tous les mails, bloc HTML pieces jointes injecte automatiquement (exclut .asc/.p7z/smime) avec icone trombone + taille fichier - Templates : devis_to_sign, devis_signed_client/admin (PJ signed+audit), devis_refused_client/admin, advert_send (PJ + bouton paiement), ndd_expiration - TestMailCommand : option --force-dsn pour envoyer via un DSN SMTP specifique (test prod depuis dev) Commande NDD : - app:ndd:check : verifie expiration domaines <= 30j, envoie mail groupe a monitor@siteconseil.fr - Cron quotidien 8h (docker + ansible) Divers : - Titles templates : CRM SITECONSEIL -> SARL SITECONSEIL (52 fichiers) - VAULT_URL dev = https://kms.esy-web.dev (comme prod) - app.js : initDevisLines (repeater + drag & drop), initTabSearch, toggle refus devis - app.scss : styles drag & drop - setasign/fpdi-fpdf installe pour fusion PDF - 5 migrations Doctrine Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 09:44:35 +02:00
<title>{% block title %}SARL SITECONSEIL{% endblock %}</title>
fix: rendre les templates email compatibles avec tous les clients mail templates/email/base.html.twig: - Remplacement de la structure div par une structure table-based (role=presentation) pour compatibilite Outlook/Orange/SFR/Yahoo - Suppression de rgba(), linear-gradient(), border-radius, box-shadow (non supportes par Outlook Windows 2007-2019) - Ajout du doctype XHTML 1.0 Transitional pour Outlook - Ajout du bloc conditionnel <!--[if mso]> pour forcer Arial sur Outlook - Remplacement de margin: 0 par margin-top/right/bottom/left: 0 (margin shorthand non supporte par Orange, SFR, certains Outlook) - Remplacement de padding shorthand par padding-top/right/bottom/left dans le body et les cellules principales - Ajout de -webkit-text-size-adjust et -ms-text-size-adjust sur body - Logo: ajout de width et height auto explicites + border: 0 - Fond semi-transparent rgba(255,255,255,0.92) remplace par #ffffff opaque - Gradient gold remplace par background-color: #fabf04 fixe - Couleur footer rgba(255,255,255,0.7) remplacee par #b0b0b0 fixe - Entite &bull; remplacee par &#8226; pour compatibilite XHTML templates/emails/*.html.twig (9 fichiers): - Remplacement de toutes les proprietes margin shorthand par les proprietes longhand margin-top/margin-right/margin-bottom/margin-left dans 2fa_code, forgot_password_code, membre_created, password_changed, revendeur_created, rgpd_access, rgpd_attestation_signed, rgpd_deletion, rgpd_no_data Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 19:40:13 +02:00
<!--[if mso]>
<style type="text/css">
body, table, td { font-family: Arial, Helvetica, sans-serif !important; }
</style>
<![endif]-->
2026-04-01 15:42:52 +02:00
</head>
fix: rendre les templates email compatibles avec tous les clients mail templates/email/base.html.twig: - Remplacement de la structure div par une structure table-based (role=presentation) pour compatibilite Outlook/Orange/SFR/Yahoo - Suppression de rgba(), linear-gradient(), border-radius, box-shadow (non supportes par Outlook Windows 2007-2019) - Ajout du doctype XHTML 1.0 Transitional pour Outlook - Ajout du bloc conditionnel <!--[if mso]> pour forcer Arial sur Outlook - Remplacement de margin: 0 par margin-top/right/bottom/left: 0 (margin shorthand non supporte par Orange, SFR, certains Outlook) - Remplacement de padding shorthand par padding-top/right/bottom/left dans le body et les cellules principales - Ajout de -webkit-text-size-adjust et -ms-text-size-adjust sur body - Logo: ajout de width et height auto explicites + border: 0 - Fond semi-transparent rgba(255,255,255,0.92) remplace par #ffffff opaque - Gradient gold remplace par background-color: #fabf04 fixe - Couleur footer rgba(255,255,255,0.7) remplacee par #b0b0b0 fixe - Entite &bull; remplacee par &#8226; pour compatibilite XHTML templates/emails/*.html.twig (9 fichiers): - Remplacement de toutes les proprietes margin shorthand par les proprietes longhand margin-top/margin-right/margin-bottom/margin-left dans 2fa_code, forgot_password_code, membre_created, password_changed, revendeur_created, rgpd_access, rgpd_attestation_signed, rgpd_deletion, rgpd_no_data Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 19:40:13 +02:00
<body style="margin-top: 0; margin-bottom: 0; margin-left: 0; margin-right: 0; padding-top: 0; padding-bottom: 0; padding-left: 0; padding-right: 0; background-color: #eeeef3; font-family: Arial, Helvetica, sans-serif; color: #111827; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%;">
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0" style="margin-top: 0; margin-bottom: 0; margin-left: 0; margin-right: 0; padding-top: 0; padding-bottom: 0; padding-left: 0; padding-right: 0; background-color: #eeeef3; font-family: Arial, Helvetica, sans-serif; color: #111827; width: 100%; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%;">
fix: rendre les templates email compatibles avec tous les clients mail templates/email/base.html.twig: - Remplacement de la structure div par une structure table-based (role=presentation) pour compatibilite Outlook/Orange/SFR/Yahoo - Suppression de rgba(), linear-gradient(), border-radius, box-shadow (non supportes par Outlook Windows 2007-2019) - Ajout du doctype XHTML 1.0 Transitional pour Outlook - Ajout du bloc conditionnel <!--[if mso]> pour forcer Arial sur Outlook - Remplacement de margin: 0 par margin-top/right/bottom/left: 0 (margin shorthand non supporte par Orange, SFR, certains Outlook) - Remplacement de padding shorthand par padding-top/right/bottom/left dans le body et les cellules principales - Ajout de -webkit-text-size-adjust et -ms-text-size-adjust sur body - Logo: ajout de width et height auto explicites + border: 0 - Fond semi-transparent rgba(255,255,255,0.92) remplace par #ffffff opaque - Gradient gold remplace par background-color: #fabf04 fixe - Couleur footer rgba(255,255,255,0.7) remplacee par #b0b0b0 fixe - Entite &bull; remplacee par &#8226; pour compatibilite XHTML templates/emails/*.html.twig (9 fichiers): - Remplacement de toutes les proprietes margin shorthand par les proprietes longhand margin-top/margin-right/margin-bottom/margin-left dans 2fa_code, forgot_password_code, membre_created, password_changed, revendeur_created, rgpd_access, rgpd_attestation_signed, rgpd_deletion, rgpd_no_data Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 19:40:13 +02:00
<tr>
<td align="center" style="padding-top: 40px; padding-bottom: 40px; padding-left: 16px; padding-right: 16px;">
<!-- Lien voir en ligne -->
<table role="presentation" width="580" cellpadding="0" cellspacing="0" border="0" style="max-width: 580px; width: 100%;">
<tr>
<td align="center" style="padding-bottom: 16px; font-size: 11px; color: #888888;">
Cet email ne s'affiche pas correctement ? <a href="__VIEW_URL__" style="color: #4338ca; text-decoration: underline;">Voir en ligne</a>
</td>
</tr>
</table>
<!-- Container principal -->
<table role="presentation" width="580" cellpadding="0" cellspacing="0" border="0" style="max-width: 580px; width: 100%; background-color: #ffffff; border-top: 1px solid #e5e5e5; border-bottom: 1px solid #e5e5e5; border-left: 1px solid #e5e5e5; border-right: 1px solid #e5e5e5;">
<!-- Header gold -->
<tr>
<td align="center" style="background-color: #fabf04; padding-top: 24px; padding-bottom: 24px; padding-left: 24px; padding-right: 24px; border-bottom: 1px solid #e5a800;">
<img src="https://crm.siteconseil.fr/logo_facture.png" alt="CRM SITECONSEIL" width="120" style="display: block; width: 120px; height: auto; border: 0;" />
</td>
</tr>
<!-- Contenu -->
<tr>
fix: corriger line-height et supprimer box-shadow dans les templates email Outlook Windows (2007-2019) a un bug avec line-height en em et sans unite: le rendu est imprevisible. La solution est d'utiliser des valeurs en px avec mso-line-height-rule:exactly. templates/email/base.html.twig: - cellule contenu: line-height: 1.6 remplace par line-height: 22px avec ajout de mso-line-height-rule: exactly templates/emails/2fa_code.html.twig: - 3 paragraphes: line-height: 1.6 remplace par 22px + mso-line-height-rule templates/emails/forgot_password_code.html.twig: - 3 paragraphes: line-height: 1.6 remplace par 22px + mso-line-height-rule templates/emails/membre_created.html.twig: - 4 paragraphes: line-height: 1.6 remplace par 22px + mso-line-height-rule - 2 listes ul: line-height: 1.8 remplace par 25px (font 14px) et 23px (font 13px) + mso-line-height-rule templates/emails/password_changed.html.twig: - 4 paragraphes: line-height: 1.6 remplace par 22px + mso-line-height-rule templates/emails/revendeur_created.html.twig: - 5 paragraphes: line-height: 1.6 remplace par 22px + mso-line-height-rule templates/emails/rgpd_access.html.twig: - 4 paragraphes: line-height: 1.6 remplace par 22px + mso-line-height-rule templates/emails/rgpd_attestation_signed.html.twig: - 4 paragraphes: line-height: 1.6 remplace par 22px + mso-line-height-rule templates/emails/rgpd_deletion.html.twig: - 4 paragraphes: line-height: 1.6 remplace par 22px + mso-line-height-rule templates/emails/rgpd_no_data.html.twig: - 5 paragraphes: line-height: 1.6 remplace par 22px + mso-line-height-rule Suppression de box-shadow dans tous les templates email (non supporte par Outlook Windows, Orange, GMX, WEB.DE, Samsung Email). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 20:37:37 +02:00
<td style="padding-top: 32px; padding-bottom: 32px; padding-left: 32px; padding-right: 32px; font-size: 14px; mso-line-height-rule: exactly; line-height: 22px; color: #111827;">
fix: rendre les templates email compatibles avec tous les clients mail templates/email/base.html.twig: - Remplacement de la structure div par une structure table-based (role=presentation) pour compatibilite Outlook/Orange/SFR/Yahoo - Suppression de rgba(), linear-gradient(), border-radius, box-shadow (non supportes par Outlook Windows 2007-2019) - Ajout du doctype XHTML 1.0 Transitional pour Outlook - Ajout du bloc conditionnel <!--[if mso]> pour forcer Arial sur Outlook - Remplacement de margin: 0 par margin-top/right/bottom/left: 0 (margin shorthand non supporte par Orange, SFR, certains Outlook) - Remplacement de padding shorthand par padding-top/right/bottom/left dans le body et les cellules principales - Ajout de -webkit-text-size-adjust et -ms-text-size-adjust sur body - Logo: ajout de width et height auto explicites + border: 0 - Fond semi-transparent rgba(255,255,255,0.92) remplace par #ffffff opaque - Gradient gold remplace par background-color: #fabf04 fixe - Couleur footer rgba(255,255,255,0.7) remplacee par #b0b0b0 fixe - Entite &bull; remplacee par &#8226; pour compatibilite XHTML templates/emails/*.html.twig (9 fichiers): - Remplacement de toutes les proprietes margin shorthand par les proprietes longhand margin-top/margin-right/margin-bottom/margin-left dans 2fa_code, forgot_password_code, membre_created, password_changed, revendeur_created, rgpd_access, rgpd_attestation_signed, rgpd_deletion, rgpd_no_data Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 19:40:13 +02:00
{% block content %}{% endblock %}
</td>
</tr>
<!-- Footer dark -->
<tr>
<td align="center" style="background-color: #111827; color: #b0b0b0; padding-top: 20px; padding-bottom: 20px; padding-left: 20px; padding-right: 20px; font-size: 11px; font-weight: 600; letter-spacing: 0.5px;">
&copy; {{ "now"|date("Y") }} SARL SITECONSEIL
</td>
</tr>
</table>
<!-- Adresse sous le container -->
<table role="presentation" width="580" cellpadding="0" cellspacing="0" border="0" style="max-width: 580px; width: 100%;">
<tr>
<td align="center" style="padding-top: 16px; font-size: 10px; color: #999999;">
27 rue Le Serurier, 02100 Saint-Quentin &#8226; <a href="https://www.siteconseil.fr" style="color: #999999; text-decoration: underline;">siteconseil.fr</a>
</td>
</tr>
</table>
</td>
</tr>
</table>
2026-04-01 15:42:52 +02:00
</body>
</html>