Informations à rendre disponible pour les modèles de mails

Objet Champs Proposition de TAG Valeur unique
Tous glpi.url Oui
Ticket ticket.action (new, update, etc) Oui
Ticket ID ticket.id Oui
Ticket entities_id ticket.entity Oui
Ticket name ticket.title Oui
Ticket content ticket.content Oui
Ticket status ticket.status Oui
Ticket date ticket.creationdate Oui
Ticket closedate ticket.closedate Oui
Ticket requesttypes_id ticket.requesttype Oui
Ticket users_id ticket.author Oui
Ticket ticket.author.name Oui
Ticket ticket.author.location Oui
Ticket ticket.author.phone Oui
Ticket ticket.author.phone2 Oui
Ticket users_id_receipient ticket.openbyuser Oui
Ticket groups_id ticket.group Oui
Ticket users_id_assign ticket.assigntouser Oui
Ticket suppliers_id_assign ticket.assigntosupplier Oui
Ticket groups_id_assign ticket.assigntogroup Oui
Ticket itemtype ticket.itemtype Oui
Ticket items_id ticket.item.name Oui
Ticket ticket.item.serial Oui
Ticket ticket.item.otherserial Oui
Ticket ticket.item.location Oui
Ticket ticket.item.model Oui
Ticket urgency ticket.urgency Oui
Ticket impact ticket.impact Oui
Ticket priority ticket.priority Oui
Ticket realtime ticket.time Oui
Ticket cost_time ticket.costtime Oui
Ticket cost_fixed ticket.costfixed Oui
Ticket cost_material ticket.costmaterial Oui
Ticket user_email ticket.useremail Oui
Ticket ticketcategories_id ticket.solution.type Oui
Ticket solution ticket.solution.description Oui
Ticket ticket.solution.comment Oui
Ticket ticket.numberoftasks Oui
Ticket ticket.numberoffollowups Oui
Ticket EntityData.autoclose ticket.autoclose Oui
TicketTask users_id task.author Non
TicketTask is_private task.isprivate Non
TicketTask taskcategories_id task.category Non
TicketTask date task.date Non
TicketTask content task.description Non
TicketTask realtime task.time Non
TicketFollowup date followup.date Non
TicketFollowup is_private followup.isprivate Non
TicketFollowup users_id followup.author Non
TicketFollowup content followup.description Non
TicketFollowup requesttypes_id followup.requesttype Non
Log date ticket.log.date Non
Log users_id ticket.log.user Non
Log field ticket.log.field Non
Log old/new_value ticket.log.content Non
Reservation reservation.action (new, update, delete) Oui
Reservation users_id reservation.user Oui
Reservation begin reservation.begin Oui
Reservation end reservation.end Oui
Reservation comment reservation.comment Oui
Reservation itemtype reservation.itemtype Oui
Reservation items_id reservation.item Oui
Reservation reservation.entity Oui
Consumable consumable.entity Oui
Consumable consumable.item Oui
Consumable consumable.reference Oui
Consumable consumable.remaining Oui
Cartridge cartridge.entity Oui
Cartridge cartridge.item Non
Cartridge cartridge.reference Non
Cartridge cartridge.remaining Non
DBConnection dbconnection.delay Oui
DBConnection dbconnection.title Oui
Contract entities_id contract.entity Oui
Contract name contract.name Non
Contract contract.action Oui
Contract contract.time Non
Contract contract.number Non
Contract contract.url Non
Contract contracttypes_id contract.type Non
Infocom infoocom.itemtype Non
Infocom infocom.itemname Non
Infocom infocom.expirationdate Non
Infocom infocom.entity Oui
  • walid :
    • Concernant la possibilité d'accèder au tableau $LANG, on pourrait imaginer un truc du type :
      tag ticket.title -> chaine : lang.ticket.title
  • MoYo :
    • Les tags seront bien identifiés dans le code pour simplifier la gestion ? avec du genre : #letag# ou un truc du genre
      Walid : pour moi un tag = ##letag##
    • Pour les lang la solution me semble logique vu les tags définis. Ca veux dire pas d'appel direct au dico mais une interface sur des libellés précis ? pas de lang.Menu.2 par exemple ?
      Walid : pour moi on doit gérer nous même les chaines proposées, ça permet de garder la cohérence des chaines (que se passe-t-il si on change une chaine ? si demain on a un autre système de localisation ?)
      • MoYo : ca me semble aussi une bonne solution.
    • Comment seront gérés les tags mulitples ? En répétant simplement la ligne les comprenant ?
      Walid : quels tags ?
      • MoYo : Ceux ou valeur unique est à Non dans le tableau. Le FOREACH ca répond à la question.
  • Comment pourrait être géré des TAGS conditionnels ? du genre SI ticket.assigntouser définit alors on affiche telle info ?
    Walid : la méthode de linvinus fonctionne bien :
  • SI ticket.assigntouser définit alors on affiche l'info effectivement
  • ##IFvariable## ##ENDIFvariable## ##ELSEvariable## ##ENDELSEvariable##
  • on pourrait étendre à ##FOREACHvariable## ##FOREACHvariable##
    Le but est d'avoir quelque chose comme ça à la fin :
  • NotificationTemplateCreateTicket
  • MoYo : un système simple comme celui ci me semble très bien. 2 questions
    • Le SI réagit comment : Si > 0 ou non vide ?
      • Pour pour si vide (quand je récupère les données, je mets '' si pas de valeur remontée)
    • Ne serait-il pas intéressant aussi d'avoir un élément conditionnel permettant d'afficher les N derniers suivis ou taches par exemples ?
Autre chose possible : voir du côté des moteurs de templates (ça me semble quand même sortir la grosse artillerie pour un besoin assez ciblé) :