Page 1 sur 1

Mail2Ticket : remplissage automatique de champs

Posté : jeu. 17 sept. 2020 10:38
par Mechayem
Bonjour,

Je découvre et joue avec la solution depuis un moment en vue de la déployer en interne. Tout d'abord un grand bravo aux développeurs et à tous ceux qui sont actifs autour de ce projet. Je ne suis pas du tout spécialiste de ces produits et contrairement à d'autres produits, j'ai trouvé l'installation, l'administration et l'utilisation extrêmement facile !

J'ai réussi à utiliser le connecteur IMAP qui créé bien les tickets à partir de courriels envoyés.
Ma question est la suivante : peut-on à partir d'éléments du sujet par exemple remplir automatiquement un ou plusieurs champs du ticket ?

Dans notre cas, j'aimerai si la balise [xxx] est dans le sujet pouvoir affecter le ticket à la catégorie "xxx" (ce qui affectera automatiquement au groupe de techniciens correspondant, si le groupe est bien configuré).

Re: Mail2Ticket : remplissage automatique de champs

Posté : jeu. 17 sept. 2020 10:42
par Flox
Bonjour,

cette fonctionnalité n'est pas disponible dans l'application je déplace votre demande dans la section update.

Cdt

Re: Mail2Ticket : remplissage automatique de champs

Posté : jeu. 17 sept. 2020 10:46
par Mechayem
Merci de votre réponse rapide !

Re: Mail2Ticket : remplissage automatique de champs

Posté : jeu. 1 oct. 2020 11:01
par Mechayem
En fouillant un peu j'ai modifié le fichier Mail2Ticket.php pour permettre l'attribution d'une catégorie si celle-ci est entre crochets dans le sujet --> [xxx]

Voici le code ajouté dans la partie de création de ticket, après la ligne 366 :

Code : Tout sélectionner

//check if subject has a category between []
$sujetCategory = '';
$categoryId = 0; //default category
if(preg_match('/\[(.*?)\]/', $subject, $sujetCategory) == 1)  
{
	//get categorys 
	$qry=$db->prepare("SELECT `id`,`name` FROM `tcategory`");
	$qry->execute();
	$rows=$qry->fetchAll();

	//search if category of the subject is in the categorys
	foreach($rows as $row)
	{
		if($sujetCategory[1] == $row['name']) // if the first occurence found in the subject matches, get the category id
		{
			$categoryId = $row['id'];
			break;
		}
	}
}

$qry=$db->prepare("INSERT INTO `tincidents` (`user`,`technician`,`title`,`description`,`date_create`,`techread`,`state`,`criticality`,`disable`,`place`,`creator`,`category`) 
VALUES (:user,'0',:title,'',:date_create,'0',:state,'4','0','0',:creator,:category)");
$qry->execute(array('user' => $user_id,'title' => $subject,'date_create' => $datetime,'state' => $rparameters['ticket_default_state'],'creator' => $user_id, 'category' => $categoryId));
Si ça peut aider je laisse ce bout de code là :D