Skip to content

#978 [Email] feat: déclarer les réglages de modèles d'email à la vue d'ensemble de Saturne - #979

Merged
nicolas-eoxia merged 1 commit into
Evarisk:developfrom
nicolas-eoxia:feat/978-email-template-settings
Oct 30, 2026
Merged

nicolas-eoxia merged 1 commit into
Evarisk:developfrom
nicolas-eoxia:feat/978-email-template-settings

Conversation

@nicolas-eoxia

Copy link
Copy Markdown
Contributor

Closes #978

Pourquoi

La vue d'ensemble des modèles d'email de Saturne (Evarisk/Saturne#1811) liste, dans sa colonne « Utilisé par », les réglages qui envoient chaque modèle. Les réglages de DoliMeet y apparaissaient sous leur nom brut (DOLIMEET_BILLING_SATISFACTION_SURVEY_REMINDER_EMAIL_TEMPLATE…).

Ce que fait la PR

DoliMeet répond au hook saturneEmailTemplateSettings (Evarisk/Saturne#1820) :

  • Par rôle (formateur, stagiaire, client, commanditaire/OPCO) : modèle d'envoi et modèle de relance de l'enquête de satisfaction, par exemple « Enquête de satisfaction stagiaire · Modèle d'email de relance », en lien vers admin/questionnaire.php.
  • DOLIMEET_EMAIL_TEMPLATE_SATISFACTION_SURVEY : les modèles d'envoi par défaut posés à l'activation, en JSON par rôle.
  • DOLIMEET_EMAIL_TEMPLATE_COMPLETION_CERTIFICATE_UNIQUE : l'envoi de l'enquête à un contact depuis le contrat. Ce réglage ne se change nulle part, il n'a donc pas de lien.
  • Deux nouvelles clés de langue, en fr_FR et en_US.

Contexte de hook : DoliMeet ne s'accrochait ni à main ni à emailtemplates. emailtemplates est ajouté au descripteur. Les autres méthodes de ActionsDolimeet testent toutes leur contexte. Son completeTabsHead sort dès qu'il n'y a pas d'objet, ce qui est le cas des onglets de la configuration des mails. La page « Modèles des courriels » du cœur a été rechargée avec ce contexte actif : elle répond 200 et affiche ses 94 lignes. Comme tout changement de module_parts, ce contexte ne sera pris qu'à la réactivation du module (ou à la réinitialisation qui suit une montée de version).

Non déclaré : DOLIMEET_EMAIL_TEMPLATE_COMPLETION_CERTIFICATE. Il est posé à l'activation, mais aucun code ne le lit : le déclarer ferait passer son modèle pour utilisé. La vue d'ensemble le reconnaît tout de même à son nom et l'affiche brut. À retirer, ou à brancher, dans une autre issue si besoin.

Tests

Tests faits sur un bac à sable Dolibarr 23.0.3, avec le Saturne de develop (qui contient le hook) et les quatre modules sur leur branche, base locale partagée :

  • En CLI : saturne_email_template_declared_settings() remonte les 26 déclarations (Saturne et les quatre modules), avec leur libellé, leur lien et leur type.
  • Avec Playwright, filtre « seulement ceux utilisés » :
    • les 13 modèles utilisés affichent un libellé lisible, en lien vers leur page de réglage ;
    • aucune erreur JS.
  • Journal : rien dans php_error.log.
  • Qualité : php -l, dev/ci/lang-parity.php et PHPStan (phpstan.neon du module) sans erreur sur les fichiers touchés.

Le contexte emailtemplates a été simulé en CLI, puis posé en base le temps de la capture et restauré à l'identique.

🤖 Generated with Claude Code

…s to the Saturne overview

Answers the saturneEmailTemplateSettings hook (Evarisk/Saturne#1820): the "Used
by" column of the Saturne email templates overview shows each setting by its
label, linked to admin/questionnaire.php, instead of the raw constant.
- per role, the survey sending and reminder templates;
- the default sending templates written on activation (JSON per role);
- the template sent to a contact from the contract.

DoliMeet registered neither 'main' nor 'emailtemplates': 'emailtemplates' is
added to its hook contexts, every other method of its actions class already
tests its own context.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@nicolas-eoxia
nicolas-eoxia merged commit 62e24ea into Evarisk:develop Oct 30, 2026
2 checks passed
@nicolas-eoxia
nicolas-eoxia deleted the feat/978-email-template-settings branch October 30, 2026 17:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Email] Déclarer les réglages de modèles d'email à la vue d'ensemble de Saturne (hook saturneEmailTemplateSettings)

1 participant