[rt-users] Faking {$Transaction->Content()}

Kenneth Crocker kfcrocker at lbl.gov
Tue Jul 5 14:31:23 EDT 2011


Mauricio,

What is it you want to do? It sounds like you want to put the last
correspondence of a ticket into an email/template when the owner of a ticket
is changed. Is that right? Technically, there WAS a transaction record
created, but since it only involved an owner change, that's the only info on
the transaction record.

If this is what you want to do, it CAN be done fairly easily with a scrip.
What you want to do is pull up the *last comment transaction* entered for
that ticket. You can do that IN a template.

Hope this helps.

Kenn
LBNL

On Thu, Jun 30, 2011 at 2:59 PM, Mauricio Tavares <raubvogel at gmail.com>wrote:

>      From what I understand (thanks trs), in an on Owner Change event
> you cannot rely on using {$Transaction->Content()} to copy the last
> message/correspondence in a given ticket because no transaction was
> created. So, how can you fake it in an template? If the content was
> only a text file, it is not hard to do it, but what happens when you
> also have attachments? I wrote the following template,
>
> {
>   my $thingie = "Attachments:";
>   my $Transactions = $Ticket->Transactions;
>
>   $Transactions->Limit( FIELD => 'Type',
>                           VALUE => "Correspond"
>                         );
>   # $Rt::Logger->debug("Find Transaction");
>   my $TransactionObj = $Transactions->Last;
>      my $AttachmentsObj =
> RT::Attachments->new($TransactionObj->CurrentUser);
>      $AttachmentsObj->Limit( FIELD => 'TransactionID',
>                              VALUE => $TransactionObj->id
>                            );
>      while ( my $a = $AttachmentsObj->Next ) {
>         $thingie .= "\nFound an attachment with encoding " .
> $a->ContentType . " and ID " . $a->id;
>         if ( $a->ContentType eq 'text/plain' || $a->ContentType eq
> 'text/html'){
>            $thingie .= "\nContent:\n" . $a->Content;
>         }
>         elseif ( $a->ContentType eq 'multipart/mixed') {
>         }
>         else {
>            $thingie .= "\n" . $RT::WebURL ."/Ticket/Attachment/".
> $a->TransactionId ."/". $a->id ."/". $a->Filename;
>            $thingie .= "\n    ";
>         }
>      }
>   $thingie;
> }
>
> which finds the attachments and put links for the non-text (from
> http://requesttracker.wikia.com/wiki/AddAttachmentLinksToMail)
> attachments, but what I really want is, well, emulate
> {$Transaction->Content()}. Would anyone have any pointers?
>
> --------
> 2011 Training: http://bestpractical.com/services/training.html
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.bestpractical.com/pipermail/rt-users/attachments/20110705/02e0f084/attachment.htm>


More information about the rt-users mailing list