Gestion des tickets: utilisation d'un id humainement lisible

Hello,

Le numéro de ticket « unique » généré lors de la création d’un ticket n’est pas humainement / oralement « exploitable »
(essayez par exemple de dire à votre collègue le que le ticket #kowfxw6bmrkyji19 est pour lui: vous y êtes encore demain :smile: )

Je n’ai pas encore creusé l’utilité de ce numéro stocké dans la colonne track_id - je veux dire vis à vis de l’habituel rowid - mais pense qu’il faudrait plutôt communiquer sur la colonne ref (ou rowid) qui est plus facile à comprendre et à retrouver.

Cordialement

Bonjour :slightly_smiling_face:
Je crois que c’est pour l’accès publique

De manière générale je trouve que le module ticket est à faire évoluer…

Hello,
Il s’agit de l’id de suivi public, c’est à dire l’id qui permettra à une personne extérieure de dolibarr de suivre l’évolution du ticket. Il n’a donc pas d’intérêt d’être humainement lisible. Pour discuter d’un ticket, on peut effectivement plutôt utiliser le numéro de ticket.

Oui. Mais la base semble bien la et c’est déjà une bonne étape de franchie.
Je compte le placer en production et donc pouvoir contribuer à son évolution sur le plan fonctionnel et, dans la limite des mes capacités, sur le plan technique.

Et bien en fait si: supposez que le client soit au téléphone avec le support et que ce dernier lui demande: « Pouvez-vous m’indiquer votre numéro de ticket ? » je pense que ça va créer des tensions… surtout sur un numéro surtaxé depuis un mobile en faible zone de couverture. Aucun chance d’y arriver :sweat_smile:

Ok je comprends. En fait c’est au niveau du mail de confirmation envoyé au client que ce numéro de ticket pourrait être utile. J’avoue ne pas avoir ce problème. J’ai rarement plus de 2 tickets ouverts en même temps pour un client. Du coup si un client m’appelle, je filtre facilement par son adresse mail et je retrouve facilement son ticket. J’ai une exception pour un client qui utilise beaucoup le système de ticket. Mais lorsqu’on fait le point au téléphone ensemble sur les tickets en cours, il ouvre la liste à partir de l’interface publique (en utilisant le lien vers un de ces id de suivi) et à ce niveau il a bien la réf (le numéro de ticket).
Ceci dit l’ajout du numéro de ticket dans le mail serait pas mal en effet :slight_smile:

Oui exactement. Le N° de ticket TS1912-0003 est plus parlant que kowfxw6bmrkyji19.

Je viens de tester sommairement en modifiant le code de la méthode create de façon à ce que le track_id soit remplacé en base et dans l’instance par la valeur du champ ref et ça fonctionne.

Mais bon, faudrait analyser un peu plus le code pour savoir si cette donnée track_id est redondante ou pas.

Je ne comprends pas l’intérêt de vouloir remplacer le track_id en base par une info qu’on a déjà ?
D’autant que le track_id reste utile pour le lien de suivi. Si on met un track_id trop simple, niveau sécurité ça serait pas top pour accéder aux tickets d’un autre client…
Je pense que la modif utile serait plutôt d’ajouter le champ ref dans le mail (à mon avis pas très compliqué… je vais jeter un oeil au code :wink: )

Dans htdocs/public/ticket/create_ticket.php :
Ajouter :

$infos_new_ticket .= $langs->transnoentities('TicketNewEmailBodyInfosTicketRef', $object->ref) . "\n\n";

juste après :

$infos_new_ticket .= $langs->transnoentities('TicketNewEmailBodyInfosTrackUrl') . "\n\n";

et dans les fichiers de langues pour les langues gérées (par exemple pour le français, dans htdocs/langs/fr_FR/ticket.lang) :
ajouter une ligne :

TicketNewEmailBodyInfosTicketRef=La référence de votre ticket à rappeler au support est : %s

Pour le mail reçu ça devrait aller. Il faut faire la même chose que le petit message de confirmation d’un nouveau ticket dans l’interface public et tout devrait être ok.

Effectivement: une numérotation plus simpliste ou séquentielle peut poser problème en cas d’accès publique puisqu’il n’y a pas de de contrôle d’accès au niveau du ticket.

Merci. Je vais creuser cette voie la.

Une autre solution que je trouve (personnellement :wink: ) encore mieux :
Modif du fichier lang pour TicketNewEmailSubject en ajoutant « référence %s » en fin de ligne (et donc pas d’ajout de la ligne comme avant) :

TicketNewEmailSubject=Confirmation de création de ticket référence %s

puis modif du fichier htdocs/public/ticket/create_ticket.php

$subject = '[' . $conf->global->MAIN_INFO_SOCIETE_NOM . '] ' . $langs->transnoentities('TicketNewEmailSubject');

à modifier par :

$subject = '[' . $conf->global->MAIN_INFO_SOCIETE_NOM . '] ' . $langs->transnoentities('TicketNewEmailSubject', $object->ref);

Pas tester, mais du coup la réf du ticket devrait se trouver dans le sujet du mail reçu :slight_smile:

Et pour le message qui s’affiche sur la navigateur lorsque le ticket vient d’être créé dans l’interface publique :
Toujours dans le fichier de langue, modifier MesgInfosPublicTicketCreatedWithTrackId et PleaseRememberThisId :
MesgInfosPublicTicketCreatedWithTrackId=Un nouveau ticket a été créé avec l’ID %s et la référence %s.
PleaseRememberThisId=Merci de conserver le code de suivi et la référence du ticket, ils vous seront peut-être nécessaires ultérieurement

et dans le fichier create_ticket, modifier :

setEventMessages($langs->trans('MesgInfosPublicTicketCreatedWithTrackId', '<strong>' . $object->track_id . '</strong>'), null, 'warnings');

par :

setEventMessages($langs->trans('MesgInfosPublicTicketCreatedWithTrackId', '<strong>' . $object->track_id . '</strong>', '<strong>' . $object->ref . '</strong>'), null, 'warnings');

ça donne ça :

(Edit : j’ai trouvé comment on insère du code dnas le forum :wink: )

Ok top. Je vais tester ça demain à la fraîche :wink:

Une Pull Request sur github avec ces modifications serait la bienvenue…

C’est fait :wink: Soyez indulgent, c’est le premier pull request de ma vie :open_mouth:
A ce propos si j’ai fait des erreurs, n’hésitez pas à me dire :slight_smile:
Ca fait un moment que ça me titillait de me lancer et je trouvais que cette petite modif était pas mal pour débuter :wink:

3 « J'aime »