Difference between revisions of "AddTicketHistoryToMail"

From Request Tracker Wiki
Jump to navigation Jump to search
m (2 revisions imported)
 
Line 5: Line 5:
Require: Text::Wrapper perl module
Require: Text::Wrapper perl module


<nowiki>Subject: Resolved: {$Ticket-&gt;Subject}
 
    Subject: Resolved: {$Ticket-&gt;Subject}
Dear customer,
 
    Dear customer,
your issue regarding
 
    your issue regarding
        "{$Ticket-&gt;Subject()}",
 
            "{$Ticket-&gt;Subject()}",
has been resolved in our ticket system. See below for history of this ticket.
 
    has been resolved in our ticket system. See below for history of this ticket.
If you have any further questions or concerns, please reply to this
 
message to reopen the ticket.
    If you have any further questions or concerns, please reply to this
    message to reopen the ticket.
regards
 
    regards
{$Ticket-&gt;OwnerObj-&gt;RealName || $Ticket-&gt;OwnerObj-&gt;Name}
 
your-company-fooprint
    {$Ticket-&gt;OwnerObj-&gt;RealName || $Ticket-&gt;OwnerObj-&gt;Name}
    your-company-fooprint
 
----------------------------------------------------------------
 
  Your initial request was
    ----------------------------------------------------------------
----------------------------------------------------------------
      Your initial request was
    ----------------------------------------------------------------
{$Ticket-&gt;Transactions-&gt;First-&gt;Content()}
 
    {$Ticket-&gt;Transactions-&gt;First-&gt;Content()}
----------------------------------------------------------------
 
  Complete Ticket History
    ----------------------------------------------------------------
----------------------------------------------------------------
      Complete Ticket History
    ----------------------------------------------------------------
{
 
  my $resolved_message = '';
    {
  my $last_content = '';
      my $resolved_message = '';
      my $last_content = '';
  my $transactions = $Ticket-&gt;Transactions;
 
      my $transactions = $Ticket-&gt;Transactions;
 
  $transactions-&gt;Limit( FIELD =&gt; 'Type', VALUE =&gt; 'Correspond' );
 
  #If for some reason you want to expose internal comments to end users,
      $transactions-&gt;Limit( FIELD =&gt; 'Type', VALUE =&gt; 'Correspond' );
  #probably a bad idea, comment out the previous line &amp; uncomment these:
      #If for some reason you want to expose internal comments to end users,
  #$transactions-&gt;Limit( FIELD =&gt; 'Type', VALUE =&gt; 'Correspond', ENTRYAGGREGATOR =&gt; 'OR', OPERATOR =&gt; '=' );
      #probably a bad idea, comment out the previous line &amp; uncomment these:
  #$transactions-&gt;Limit( FIELD =&gt; 'Type', VALUE =&gt; 'Comment', ENTRYAGGREGATOR =&gt; 'OR', OPERATOR =&gt; '=' );
      #$transactions-&gt;Limit( FIELD =&gt; 'Type', VALUE =&gt; 'Correspond', ENTRYAGGREGATOR =&gt; 'OR', OPERATOR =&gt; '=' );
      #$transactions-&gt;Limit( FIELD =&gt; 'Type', VALUE =&gt; 'Comment', ENTRYAGGREGATOR =&gt; 'OR', OPERATOR =&gt; '=' );
 
  while (my $transaction = $transactions-&gt;Next) {
 
    my $attachments = $transaction-&gt;Attachments;
      while (my $transaction = $transactions-&gt;Next) {
        my $attachments = $transaction-&gt;Attachments;
    while (my $message = $attachments-&gt;Next) {
 
      next unless $message-&gt;ContentType =~
        while (my $message = $attachments-&gt;Next) {
              m!^(text/html|text/plain|message|text$)!i;
          next unless $message-&gt;ContentType =~
                  m!^(text/html|text/plain|message|text$)!i;
      my $content = $message-&gt;Content;
 
      $content =~ s/&lt;(([^ &gt;]|\n)*)&gt;//g;  # strip HTML tags from text/html
          my $content = $message-&gt;Content;
      next unless $content;
          $content =~ s/&lt;(([^ &gt;]|\n)*)&gt;//g;  # strip HTML tags from text/html
          next unless $content;
      next if $last_content eq $content;
 
      $last_content = $content;
          next if $last_content eq $content;
          $last_content = $content;
      my $subject = ($message-&gt;Subject || $Ticket-&gt;Subject);
 
          my $subject = ($message-&gt;Subject || $Ticket-&gt;Subject);
      my $wrapper = Text::Wrapper-&gt;new(columns=&gt;70);
 
      $content = $wrapper-&gt;wrap($content);
          my $wrapper = Text::Wrapper-&gt;new(columns=&gt;70);
          $content = $wrapper-&gt;wrap($content);
      $resolved_message .= "Subject: ";
 
      $resolved_message .= $subject;
          $resolved_message .= "Subject: ";
      $resolved_message .= "\n";
          $resolved_message .= $subject;
      $resolved_message .= "From: ";
          $resolved_message .= "\n";
      $resolved_message .= $message-&gt;CreatorObj-&gt;RealName || $message-&gt;CreatorObj-&gt;EmailAddress;
          $resolved_message .= "From: ";
      $resolved_message .= "\n";
          $resolved_message .= $message-&gt;CreatorObj-&gt;RealName || $message-&gt;CreatorObj-&gt;EmailAddress;
      $resolved_message .= "Time: ";
          $resolved_message .= "\n";
      $resolved_message .= $message-&gt;CreatedObj-&gt;AsString;
          $resolved_message .= "Time: ";
      $resolved_message .= "\n";
          $resolved_message .= $message-&gt;CreatedObj-&gt;AsString;
      $resolved_message .= "\n";
          $resolved_message .= "\n";
      $resolved_message .= "$content\n";
          $resolved_message .= "\n";
      $resolved_message .= "------------------------------------------------\n";
          $resolved_message .= "$content\n";
    }
          $resolved_message .= "------------------------------------------------\n";
  }
        }
  $resolved_message;
      }
}
      $resolved_message;
    }
-------------------------------------------------------------------------
 
    Common Information
    -------------------------------------------------------------------------
-------------------------------------------------------------------------
        Common Information
    -------------------------------------------------------------------------
There is no need to reply to this message unless you want to RE-OPEN your
 
ticket with ID [{$rtname} #{$Ticket-&gt;id}].
    There is no need to reply to this message unless you want to RE-OPEN your
    ticket with ID [{$rtname} #{$Ticket-&gt;id}].
If you want to simply add a COMMENT to this ticket without re-opening the ticket, click below:
 
mailto:rt-comment@yourdomain.com?subject=[{$rtname}%20#{$Ticket-&gt;id()}]&amp;body=%20
    If you want to simply add a COMMENT to this ticket without re-opening the ticket, click below:
    mailto:rt-comment@yourdomain.com?subject=[{$rtname}%20#{$Ticket-&gt;id()}]&amp;body=%20
 
Please note:
 
- ALWAYS include the string [{$rtname} #{$Ticket-&gt;id}] in the subject line of all future correspondence about this issue.
    Please note:
- Do NOT attach or include the content of previous emails already sent to you by rt.
    - ALWAYS include the string [{$rtname} #{$Ticket-&gt;id}] in the subject line of all future correspondence about this issue.
</nowiki>
    - Do NOT attach or include the content of previous emails already sent to you by rt.

Revision as of 10:39, 14 June 2016

Original author: Michael Markstaller - IFCO

Code cleanups: RuslanZakirov

Require: Text::Wrapper perl module


    Subject: Resolved: {$Ticket->Subject}
    Dear customer,
    your issue regarding
           "{$Ticket->Subject()}",
    has been resolved in our ticket system. See below for history of this ticket.
    If you have any further questions or concerns, please reply to this
    message to reopen the ticket.
    regards
    {$Ticket->OwnerObj->RealName || $Ticket->OwnerObj->Name}
    your-company-fooprint


    ----------------------------------------------------------------
      Your initial request was
    ----------------------------------------------------------------
    {$Ticket->Transactions->First->Content()}
    ----------------------------------------------------------------
      Complete Ticket History
    ----------------------------------------------------------------
    {
     my $resolved_message = ;
     my $last_content = ;
     my $transactions = $Ticket->Transactions;


     $transactions->Limit( FIELD => 'Type', VALUE => 'Correspond' );
     #If for some reason you want to expose internal comments to end users,
     #probably a bad idea, comment out the previous line & uncomment these:
     #$transactions->Limit( FIELD => 'Type', VALUE => 'Correspond', ENTRYAGGREGATOR => 'OR', OPERATOR => '=' );
     #$transactions->Limit( FIELD => 'Type', VALUE => 'Comment', ENTRYAGGREGATOR => 'OR', OPERATOR => '=' );


     while (my $transaction = $transactions->Next) {
       my $attachments = $transaction->Attachments;
       while (my $message = $attachments->Next) {
         next unless $message->ContentType =~
                  m!^(text/html|text/plain|message|text$)!i;
         my $content = $message->Content;
         $content =~ s/<(([^ >]|\n)*)>//g;  # strip HTML tags from text/html
         next unless $content;
         next if $last_content eq $content;
         $last_content = $content;
         my $subject = ($message->Subject || $Ticket->Subject);
         my $wrapper = Text::Wrapper->new(columns=>70);
         $content = $wrapper->wrap($content);
         $resolved_message .= "Subject: ";
         $resolved_message .= $subject;
         $resolved_message .= "\n";
         $resolved_message .= "From: ";
         $resolved_message .= $message->CreatorObj->RealName || $message->CreatorObj->EmailAddress;
         $resolved_message .= "\n";
         $resolved_message .= "Time: ";
         $resolved_message .= $message->CreatedObj->AsString;
         $resolved_message .= "\n";
         $resolved_message .= "\n";
         $resolved_message .= "$content\n";
         $resolved_message .= "------------------------------------------------\n";
       }
     }
     $resolved_message;
    }
    -------------------------------------------------------------------------
       Common Information
    -------------------------------------------------------------------------
    There is no need to reply to this message unless you want to RE-OPEN your
    ticket with ID [{$rtname} #{$Ticket->id}].
    If you want to simply add a COMMENT to this ticket without re-opening the ticket, click below:
    mailto:rt-comment@yourdomain.com?subject=[{$rtname}%20#{$Ticket->id()}]&body=%20


    Please note:
    - ALWAYS include the string [{$rtname} #{$Ticket->id}] in the subject line of all future correspondence about this issue.
    - Do NOT attach or include the content of previous emails already sent to you by rt.