X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=rt%2Fshare%2Fhtml%2FTicket%2FShowEmailRecord.html;h=9f12657853acc78b085582fc948a6555aaaed3fc;hb=187086c479a09629b7d180eec513fb7657f4e291;hp=92f37fbd1eb4514facddab2ea9067d8eec50afbd;hpb=63a268637b2d51a8766412617724b9436439deb6;p=freeside.git diff --git a/rt/share/html/Ticket/ShowEmailRecord.html b/rt/share/html/Ticket/ShowEmailRecord.html index 92f37fbd1..9f1265785 100644 --- a/rt/share/html/Ticket/ShowEmailRecord.html +++ b/rt/share/html/Ticket/ShowEmailRecord.html @@ -1,40 +1,40 @@ %# BEGIN BPS TAGGED BLOCK {{{ -%# +%# %# COPYRIGHT: -%# -%# This software is Copyright (c) 1996-2009 Best Practical Solutions, LLC -%# -%# +%# +%# This software is Copyright (c) 1996-2018 Best Practical Solutions, LLC +%# +%# %# (Except where explicitly superseded by other copyright notices) -%# -%# +%# +%# %# LICENSE: -%# +%# %# 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. -%# +%# %# You should have received a copy of the GNU General Public License %# along with this program; if not, write to the Free Software %# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA %# 02110-1301 or visit their web page on the internet at %# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html. -%# -%# +%# +%# %# CONTRIBUTION SUBMISSION POLICY: -%# +%# %# (The following paragraph is not intended to limit the rights granted %# to you to modify and distribute this software under the terms of %# the GNU General Public License and is only of importance to you if %# you choose to contribute your changes and enhancements to the %# community by submitting them to Best Practical Solutions, LLC.) -%# +%# %# By intentionally submitting any modifications, corrections or %# derivatives to this work, or any other work intended for use with %# Request Tracker, to Best Practical Solutions, LLC, you confirm that @@ -43,17 +43,23 @@ %# royalty-free, perpetual, license to use, copy, create derivative %# works based on those contributions, and sublicense and distribute %# those contributions and any derivatives thereof. -%# +%# %# END BPS TAGGED BLOCK }}} <%args> $Attachment => undef $Transaction => undef <%INIT> +my $plain_text_mono + = RT->Config->Get( 'PlainTextMono', $session{'CurrentUser'} ); +my $use_brs = !$plain_text_mono; + my $show_content = sub { my $attach = shift; if ( $attach->ContentType =~ m{^(?:text|message)/}i ) { - $m->out( $m->interp->apply_escapes( $attach->Content, 'h' ) ); + my $content = $m->interp->apply_escapes( $attach->Content, 'h' ); + $content =~ s{(\r?\n)}{
}g if $use_brs; + $m->out( $content ); return; } my $href = RT->Config->Get('WebPath') .'/Ticket/Attachment/' @@ -65,9 +71,15 @@ my $show_content = sub { my $show; $show = sub { my $attach = shift; - $m->out( '
' );
-    $m->out( $m->interp->apply_escapes( $attach->Headers, 'h' ) );
-    $m->out( "\n\n" );
+    $m->out('
'); + $m->out('
') if $plain_text_mono; + + my $headers = $m->interp->apply_escapes( $attach->Headers, 'h' ); + $headers =~ s{(\r?\n)}{
}g if $use_brs; + $m->out( $headers ); + + $m->out( $use_brs ? "

" : "\n\n" ); + if ( $attach->ContentType =~ m{^multipart/}i ) { my $children = $attach->Children; while ( my $child = $children->Next ) { @@ -76,21 +88,44 @@ $show = sub { } else { $show_content->( $attach ); } - $m->out( '
' ); + $m->out('') if $plain_text_mono; + $m->out(''); }; -my $AttachmentObj = new RT::Attachment($session{'CurrentUser'}); -$AttachmentObj->Load($Attachment) || Abort(loc("Attachment '[_1]' could not be loaded", $Attachment)); -unless ( $AttachmentObj->id ) { - Abort(loc("Attachment '[_1]' could not be loaded", $Attachment)); +# Set error for error message below. Abort doesn't display well +# because ShowEmailRecord doesn't use the standard RT menus +# and headers. + +my ($title, $error); + +my $AttachmentObj = RT::Attachment->new($session{'CurrentUser'}); +$AttachmentObj->Load($Attachment); + +if ( not $AttachmentObj->id + or not $AttachmentObj->TransactionId() == $Transaction ) { + $title = loc("Error loading attachment"); + $error = loc("Attachment '[_1]' could not be loaded", $Attachment); +} +elsif ( not $AttachmentObj->TransactionObj->CurrentUserCanSee("Transaction")){ + $title = loc("Permission Denied"); + $error = loc("Permission Denied"); } -unless ($AttachmentObj->TransactionId() == $Transaction ) { - Abort(loc("Attachment '[_1]' could not be loaded", $Attachment)); +else{ + $title = loc("Email Source for Ticket [_1], Attachment [_2]", + $AttachmentObj->TransactionObj->ObjectId, + $AttachmentObj->Id); } -<& /Elements/Header, ShowBar => 0 &> -% $show->( $AttachmentObj ); +<& /Elements/Header, ShowBar => 0, Title => $title &> +% if ( $error ){ +
+<% $error %> +
+% } +% else{ +% $show->( $AttachmentObj ); +% } % $m->abort;