%# BEGIN LICENSE BLOCK %# %# Copyright (c) 1996-2003 Jesse Vincent %# %# (Except where explictly superceded by other copyright notices) %# %# This work is made available to you under the terms of Version 2 of %# the GNU General Public License. A copy of that license should have %# been provided with this software, but in any event can be snarfed %# from www.gnu.org. %# %# This work is distributed in the hope that it will be useful, but %# WITHOUT ANY WARRANTY; without even the implied warranty of %# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU %# General Public License for more details. %# %# Unless otherwise specified, all modifications, corrections or %# extensions to this work which alter its source code become the %# property of Best Practical Solutions, LLC when submitted for %# inclusion in the work. %# %# %# END LICENSE BLOCK #     <% $transdate|n %>  % my $desc = $Transaction->BriefDescription; % $m->comp('/Elements/Callback', _CallbackName => 'ModifyDisplay', text => \$desc, Transaction => $Transaction, %ARGS); <%$Transaction->CreatorObj->Name%> - <%$TicketString%> <%$desc%> <%$TimeTaken%>  <%$titlebar_commands|n%> <%PERL> unless ($Collapsed) { foreach my $message (@$Attachments) { my ($headers, $quoted); if ($ShowHeaders && ($ShowHeaders == $Ticket->Id)) { $headers = $message->Headers; } else { $headers = $message->NiceHeaders; } chomp $headers; if ($headers) { # localize the common headers (like 'Subject:'), too. eval {$headers =~ s/^([^:]+)(?=:)/loc($1)/em; } # we eval here to catch errors when 5.6 panics } my $MAX_INLINE_BODY = $RT::MaxInlineBody || 13456; if ( $message->ContentType =~ m{^(text/plain|message|text$)}i && $message->ContentLength < $MAX_INLINE_BODY ) { my $content; # If we've preloaded all the content, let's pull from there # if we haven't, load it now if ($AttachmentContent->{$message->id}) { $content = $AttachmentContent->{$message->id}->Content; } else { $content = $message->Content; } eval { require Text::Quoted; $quoted = Text::Quoted::extract( $content ); }; if ($@) { $quoted = $content; } }      
<& ShowMessageHeaders, Headers => $headers, Transaction => $Transaction &>
% if ($message->ContentLength && !length($quoted) && $message->ContentType =~ m#^text/#) {
<&|/l&>Message body not shown because it is too large or is not plain text.
<&|/l&>You can access it with the Download button on the right.
% } else { <& ShowMessageStanza, Depth => 0, Message => $quoted, Transaction => $Transaction &> % }
% if ($message->Parent == 0 ) {
% } <%PERL> my $size = $message->ContentLength or next; if ($size) { if ($size > 1024) { $size = loc("[_1]k", int($size/102.4)/10); } else { $size = loc("[_1]b", $size); } <&|/l&>Download <% $message->Filename|| loc('(untitled)') %> <% $size %> % } % } % } <%ARGS> $Ticket => undef $Transaction => undef $ShowHeaders => 0 $Collapsed => undef $ShowTitleBarCommands => 1 $RowNum => 1 $AttachPath => $RT::WebPath."/Ticket/Attachment" $UpdatePath => $RT::WebPath."/Ticket/Update.html" $Attachments => undef $AttachmentContent => undef <%INIT> my ($TimeTaken, $TicketString, $bgcolor); my $transdate = $Transaction->CreatedAsString(); $transdate =~ s/\s/ /g; if ($Transaction->Type =~ /^(Create|Correspond|Comment$)/) { $bgcolor="#336699"; } elsif (($Transaction->Field =~ /^Owner$/) or ($Transaction->Type =~ /^(AddWatcher|DelWatcher)$/)) { $bgcolor="#333399"; } elsif ($Transaction->Type =~ /^(AddLink|DeleteLink)$/) { $bgcolor="#336633"; } elsif ($Transaction->Type =~ /^(Status|Set|Told)$/) { if ($Transaction->Field =~ /^(Told|Starts|Started|Due)$/) { $bgcolor="#663366"; } else { $bgcolor="#993333"; } } else { $bgcolor="#cccccc"; } if ($Ticket->Id != $Transaction->Ticket) { $TicketString = "Ticket ".$Transaction->Ticket .": "; } if ($Transaction->TimeTaken != 0) { $TimeTaken = $Transaction->TimeTaken." min" } unless ($Attachments) { my $attachments = $Transaction->Attachments; $attachments->Columns( qw( Id Filename ContentType Headers Subject Parent ContentEncoding ContentType TransactionId) ); $Attachments = $attachments->ItemsArrayRef(); } my $titlebar_commands=' '; # If the transaction has anything attached to it at all if ($Attachments->[0] && $ShowTitleBarCommands) { if ($Ticket->CurrentUserHasRight('ReplyToTicket')) { $titlebar_commands .= "[Ticket . "&QuoteTransaction=".$Transaction->Id. "&Action=Respond\">". loc('Reply') ."] "; } if ($Ticket->CurrentUserHasRight('CommentOnTicket')) { $titlebar_commands .= "[Ticket. "&QuoteTransaction=".$Transaction->Id. "&Action=Comment\">". loc('Comment') ."]"; } }