Skip to content

feat(ticket): editable TO/CC send form (backport PR #38391) + empty compose for private messages#753

Merged
ATM-NicolasV merged 1 commit into
21.0_atmfrom
NEW/TicketSendFormPR38391
Jul 8, 2026
Merged

feat(ticket): editable TO/CC send form (backport PR #38391) + empty compose for private messages#753
ATM-NicolasV merged 1 commit into
21.0_atmfrom
NEW/TicketSendFormPR38391

Conversation

@ATM-NicolasV

Copy link
Copy Markdown

Patch gamme sur le core (branche 21.0_atm). Toutes les zones modifiées sont encadrées par des marqueurs @ATM-PATCH pour re-portage à la prochaine MDV : git grep '@ATM-PATCH' -- htdocs/.

1. Backport de la PR Dolibarr core Dolibarr#38391 — champs TO/CC éditables

Slug ticket-editable-recipients.

Le formulaire d'envoi de message sur ticket exposait une liste de destinataires en lecture seule. On le rend éditable, comme le FormMail standard :

  • TO : input libre + multiselect des contacts liés (internes/externes/origine/tiers), tous pré-sélectionnés.
  • CC : input libre (pré-rempli TICKET_SEND_INTERNAL_CC) + multiselect, rien pré-sélectionné.
  • newMessage() (envoi externe back-office) lit receiver[]/sendto et receivercc[]/sendtocc et remplace le calcul auto des destinataires.
  • sendTicketMessageByEmail() accepte une liste CC (nouveau paramètre rétro-compatible), transmise à CMailFile.

Adapté à la 21.0 (la PR upstream vise develop, structure différente). Périmètre : chemin back-office. Fichiers : htdocs/core/class/html.formticket.class.php, htdocs/ticket/class/ticket.class.php.

2. Message privé = champ de saisie vide

Slug ticket-private-empty-compose.

Un message privé s'ouvre désormais avec un champ vide au lieu d'être pré-rempli avec le template / la signature personnelle (__USER_SIGNATURE__). Un message mail garde le template. La signature sortante reste ajoutée à l'envoi.

Mappage sur les 2 boutons de ticket/card.php : « Envoyer un mail » (send_email=1) → template ; « Ajouter un message privé » (pas de send_email) → vide.

Test

Validé manuellement : envoi mail avec corps (corps préservé), message privé (champ vide au départ, texte enregistré).

🤖 Generated with Claude Code

… empty compose for private messages

Backport of Dolibarr core PR Dolibarr#38391: the ticket send-message form now exposes
editable TO and CC fields (free input + multiselect of linked contacts) instead
of a read-only recipient list, and newMessage()/sendTicketMessageByEmail() honour
the user selection (receiver[]/sendto, receivercc[]/sendtocc). Adapted to 21.0
(back-office send path).

Also: a private ticket message opens with an empty compose field instead of being
prefilled with the template personal signature; an email message keeps the
template. Fixes the annoyance of the personal signature being auto-inserted for
private notes.

All changes wrapped in @ATM-PATCH markers (slugs ticket-editable-recipients,
ticket-private-empty-compose) for easy re-port on the next major-version upgrade:
git grep '@ATM-PATCH' -- htdocs/

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@ATM-NicolasV
ATM-NicolasV merged commit d942436 into 21.0_atm Jul 8, 2026
5 of 7 checks passed
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.

1 participant