terça-feira, 14 de fevereiro de 2012

GLPI: Modelo de notificação para envio de E-Mail com CSS

Encontrei esse manual no blog do siprossii (ddurieux's blog) parceiro do Projeto do GLPI.

Notificação via E-Mail com CSS formatada nas cores padrões do GLPI.


Faça um backup do GLPI;

Passo a passo para configurar esse modelo de notificação:

1 - Vá no menu Configuração -> Notificações -> Modelos de Notificação;

2 - Icone + em Adicionar;

3 - Escolha um nome;

4 - Escolha Tipo: Chamado;

5 - Coloque o código abaixo em CSS;

6 - Clique em Adicionar;

7 - Na janela Template de tradução - Novo cartão, coloque a Tradução padrão ou vazio para todas;

8 - Em Assunto: coloque as TAGS de sua preferência ou clique em Lista de 'tags' disponíveis para visualizar as TAGS;

9 - Coloque o código abaixo em Corpo do e-mail HTML: ;
##IFticket.storestatus=solved##
<table class="tab_cadre" width="700">
<tbody>
<tr>
   <th colspan="2"><a href="##ticket.urlapprove##">##lang.ticket.solution.description##</a></th>
</tr>
      
<tr class="tab_bg_1">
   <td colspan="2"><strong>##lang.ticket.autoclosewarning##</strong></td>
</tr>
      
<tr class="tab_bg_1">
   <td>##lang.ticket.solvedate## :</td>
   <td>##ticket.solvedate##</td>
</tr>

<tr class="tab_bg_1">
   <td>##lang.ticket.solution.type## :</td>
   <td>##ticket.solution.type##</td>
</tr>

<tr class="tab_bg_1">
   <td>##lang.ticket.solution.description## :</td>
   <td>##ticket.solution.description##</td>
</tr> 
      
</tbody>
</table>
##ENDIFticket.storestatus##

<br />

<table class="tab_cadre" width="700">
<tbody>
<tr>
   <th colspan="2"><a href="##ticket.url##">##ticket.title##</a></th>
   <th>
##IFticket.numberoffollowups## 
<a href="#followups">##lang.ticket.numberoffollowups## : ##ticket.numberoffollowups##</a>
##ENDIFticket.numberoffollowups##
   </th>
   <th>
##IFticket.numberoftasks##  
<a href="#tasks">##lang.ticket.numberoftasks## : ##ticket.numberoftasks##</a>
##ENDIFticket.numberoftasks##
   </th>
</tr>

<tr class="tab_bg_1">
   <td>##lang.ticket.authors## :</td>
   <td>
      ##IFticket.authors## 
         ##ticket.authors## 
      ##ENDIFticket.authors## 
      ##ELSEticket.authors##
      --
      ##ENDELSEticket.authors##</td>
   <td colspan="2"></td>
</tr>

<tr class="tab_bg_1">
   <td>##lang.ticket.creationdate## :</td>
   <td>##ticket.creationdate##</td>
   <td colspan="2"></td>
</tr>

<tr class="tab_bg_1">
   <td>##lang.ticket.closedate## :</td>
   <td>##ticket.closedate##</td>
   <td colspan="2"></td>
</tr>

##IFticket.requesttype##
<tr class="tab_bg_1">
   <td>##lang.ticket.requesttype## :</td>
   <td>##ticket.requesttype##</td>
   <td colspan="2"></td>
</tr>
##ENDIFticket.requesttype##


##IFticket.itemtype##
<tr class="tab_bg_1">
   <td>##lang.ticket.item.name## :</td>
   <td>##ticket.itemtype## - ##ticket.item.name## 
   ##IFticket.item.model## - ##ticket.item.model## ##ENDIFticket.item.model## 
   ##IFticket.item.serial## - ##ticket.item.serial## ##ENDIFticket.item.serial##  
   ##IFticket.item.otherserial## - ##ticket.item.otherserial## ##ENDIFticket.item.otherserial##</td>
   <td colspan="2"></td>
</tr>
##ENDIFticket.itemtype## 

##IFticket.assigntousers##
<tr class="tab_bg_1">
   <td>##lang.ticket.assigntousers## : </td>
   <td>##ticket.assigntousers##</td>
   <td colspan="2"></td>
</tr>
##ENDIFticket.assigntousers##

<tr class="tab_bg_1">
   <td>##lang.ticket.status## : </td>
   <td>##ticket.status##</td>
   <td colspan="2"></td>
</tr>

##IFticket.assigntogroups##
<tr class="tab_bg_1">
   <td>##lang.ticket.assigntogroups## : </td>
   <td>##ticket.assigntogroups##</td>
   <td colspan="2"></td>
</tr>
##ENDIFticket.assigntogroups##

<tr class="tab_bg_1">
   <td>##lang.ticket.urgency## : </td>
   <td>##ticket.urgency##</td>
   <td colspan="2"></td>
</tr>

<tr class="tab_bg_1">
   <td>##lang.ticket.impact## : </td>
   <td>##ticket.impact##</td>
   <td colspan="2"></td>
</tr>

<tr class="tab_bg_1">
   <td>##lang.ticket.priority## : </td>
   <td>##ticket.priority##</td>
   <td colspan="2"></td>
</tr>
   
<tr class="tab_bg_1">
   <td>##lang.ticket.category## : </td>
   <td>##IFticket.category##
      ##ticket.category## 
      ##ENDIFticket.category## 
      ##ELSEticket.category## 
      ##lang.ticket.nocategoryassigned## 
      ##ENDELSEticket.category##</td>
   <td colspan="2"></td>
</tr>

<tr class="tab_bg_1">
   <td>##lang.ticket.content## : </td>
   <td colspan="3">##ticket.content##</td>
</tr>

##IFticket.storestatus=closed##
<tr class="tab_bg_1">
   <td>##lang.ticket.solvedate## : </td>
   <td colspan="3">##ticket.solvedate##</td>
</tr>

<tr class="tab_bg_1">
   <td>##lang.ticket.solution.type## : </td>
   <td colspan="3">##ticket.solution.type##</td>
</tr>

<tr class="tab_bg_1">
   <td>##lang.ticket.solution.description## : </td>
   <td colspan="3">##ticket.solution.description##</td>
</tr>
##ENDIFticket.storestatus##</p>

<tr class="tab_bg_1">
   <td>##lang.ticket.numberoffollowups## : </td>
   <td colspan="3">##ticket.numberoffollowups##</td>
</tr>

##IFticket.numberoffollowups## 
<tr>
   <th colspan="4" id="followups">##lang.ticket.numberoffollowups## : ##ticket.numberoffollowups##</th>
</tr>
##ENDIFticket.numberoffollowups##

<tr>
 <td colspan='4'>
##FOREACHfollowups##
  <table class="tab_cadre" width="700">
   <tr class="tab_bg_3">
      <td colspan="4" align="center"><strong>[##followup.date##]</strong></td>
   </tr>
   
   <tr class="tab_bg_1">
      <td>##lang.followup.isprivate## :</td>
      <td colspan="3">##followup.isprivate##</td>
   </tr>
    
   <tr class="tab_bg_1">
      <td>##lang.followup.author## :</td>
      <td colspan="3">##followup.author##</td>
   </tr>
   
   <tr class="tab_bg_1">
      <td>##lang.followup.description## :</td>
      <td colspan="3">##followup.description##</td>
   </tr>
   
   <tr class="tab_bg_1">
      <td>##lang.followup.date## :</td>
      <td colspan="3">##followup.date##</td>
   </tr>
   
   <tr class="tab_bg_1">
      <td>##lang.followup.requesttype## :</td>
      <td colspan="3">##followup.requesttype##</td>
   </tr>
  </table>
##ENDFOREACHfollowups##
 </td>
</tr>

##IFticket.numberoftasks## 
<tr>
   <th colspan="4" id="tasks">##lang.ticket.numberoftasks## : ##ticket.numberoftasks##</th>
</tr>
##ENDIFticket.numberoftasks##

<tr>
 <td colspan='4'>

##FOREACHtasks##
  <table class="tab_cadre" width="700">
   <tr class="tab_bg_3">
      <td colspan="4" align="center"><strong>[##task.date##]</strong></td>
   </tr>
   
   <tr class="tab_bg_1">
      <td>##lang.task.isprivate## :</td>
      <td colspan="3">##task.isprivate##</td>
   </tr>
   
   <tr class="tab_bg_1">
      <td>##lang.task.author## :</td>
      <td colspan="3">##task.author##</td>
   </tr>
   
   <tr class="tab_bg_1">
      <td>##lang.task.description## :</td>
      <td colspan="3">##task.description##</td>
   </tr>
   
   <tr class="tab_bg_1">
      <td>##lang.task.time## :</td>
      <td colspan="3">##task.time##</td>
   </tr>
   
   <tr class="tab_bg_1">
      <td>##lang.task.category## :</td>
      <td colspan="3">##task.category##</td>
   </tr>
  </table>
##ENDFOREACHtasks##

 </td>
</tr>

</tbody>
</table>
10 - Clique em adicionar;

Para modificar o padrão de notificações altere o modelo Tickets - Tipo: Chamado.

Sempre faça um backup do seu Banco de Dados. antes de alterar as notificaçòes

Você também pode associar este modelo para outros tipos de notificações.

Agradecimentos e creditos para siprossii (ddurieux's blog).

Fonte: http://www.siprossii.com/en/GLPI-notification-template-mail

Obrigado.