X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=rt%2Fshare%2Fhtml%2FTicket%2FElements%2FShowTransaction;fp=rt%2Fshare%2Fhtml%2FTicket%2FElements%2FShowTransaction;h=a533323a9a027d247eac80d1856ba5a45fc0a7fd;hb=b4b0c7e72d7eaee2fbfc7022022c9698323203dd;hp=0000000000000000000000000000000000000000;hpb=2dfda73eeb3eae2d4f894099754794ef07d060dd;p=freeside.git diff --git a/rt/share/html/Ticket/Elements/ShowTransaction b/rt/share/html/Ticket/Elements/ShowTransaction new file mode 100755 index 000000000..a533323a9 --- /dev/null +++ b/rt/share/html/Ticket/Elements/ShowTransaction @@ -0,0 +1,216 @@ +%# BEGIN BPS TAGGED BLOCK {{{ +%# +%# COPYRIGHT: +%# +%# This software is Copyright (c) 1996-2009 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 +%# you are the copyright holder for those contributions and you grant +%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable, +%# 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 }}} +
+% $m->callback( titlebar_cmd => \$titlebar_commands, Transaction => $Transaction, %ARGS, CallbackName => 'ModifyDisplay' ); + +
+% $m->callback( titlebar_cmd => \$titlebar_commands, Transaction => $Transaction, %ARGS, CallbackName => 'ModifyCommand' ); + + +
+% if ( $Transaction->CustomFieldValues->Count ) { + <& /Elements/ShowCustomFields, Object => $Transaction &> +% } +% $m->comp('ShowTransactionAttachments', %ARGS, Parent => 0) unless ($Collapsed ||!$ShowBody); +
+ +
+
+ +<%ARGS> +$Ticket => undef +$Transaction => undef +$ShowHeaders => 0 +$Collapsed => undef +$ShowTitleBarCommands => 1 +$RowNum => 1 +$DisplayPath => RT->Config->Get('WebPath')."/Ticket/Display.html?id=".$Ticket->id +$AttachPath => RT->Config->Get('WebPath')."/Ticket/Attachment" +$UpdatePath => RT->Config->Get('WebPath')."/Ticket/Update.html" +$ForwardPath => RT->Config->Get('WebPath')."/Ticket/Forward.html" +$EncryptionPath => RT->Config->Get('WebPath')."/Ticket/GnuPG.html" +$EmailRecordPath => RT->Config->Get('WebPath')."/Ticket/ShowEmailRecord.html" +$Attachments => undef +$AttachmentContent => undef +$ShowBody => 1 +$LastTransaction => 0 +$WarnUnsigned => undef + +<%ONCE> + +my %class = ( + Create => 'message', + Correspond => 'message', + Comment => 'message', + + AddWatcher => 'people', + DelWatcher => 'people', + Take => 'people', + Untake => 'people', + Force => 'people', + Steal => 'people', + Give => 'people', + + AddLink => 'links', + DeleteLink => 'links', +); + + +<%INIT> + +my $transdate = $Transaction->CreatedAsString(); +$transdate =~ s/\s/ /g; + +my ($type, $field) = ($Transaction->Type, $Transaction->Field || ''); +my $type_class = $class{ $type }; + +unless ( $type_class ) { + if ( $field eq 'Owner' ) { + $type_class = 'people'; + } + elsif ( $type =~ /^(Status|Set|Told)$/ ) { + if ( $field =~ /^(Told|Starts|Started|Due)$/ ) { + $type_class = 'dates'; + } + else { + $type_class = 'basics'; + } + } + else { + $type_class = 'other'; + } +} + +my $TicketString = ''; +if ( $Ticket->Id != $Transaction->Ticket ) { + $TicketString = loc("Ticket #[_1]:", $Transaction->Ticket) .' '; +} + +my $TimeTaken = ''; +$TimeTaken = $Transaction->TimeTaken . " min" + if $Transaction->TimeTaken; + +unless ($Attachments) { + my $attachments = $Transaction->Attachments; + $attachments->Columns( qw( Id Filename ContentType Headers Subject Parent ContentEncoding ContentType TransactionId) ); + $ARGS{'Attachments'} = $Attachments = $attachments->ItemsArrayRef(); +} +my $titlebar_commands = ''; + +if ( $type =~ /EmailRecord$/ ) { + + $titlebar_commands .= + "[Ticket + . "&Transaction=" + . $Transaction->Id + . "&Attachment=" + . ( $Attachments->[0] && $Attachments->[0]->id ) + . '">' . loc('Show') . "] "; + $ShowBody = 0; +} + + +# If the transaction has anything attached to it at all +else { + + if ( $Attachments->[0] && $ShowTitleBarCommands ) { + my $ticket = $Transaction->TicketObj; + my $can_modify = $ticket->CurrentUserHasRight('ModifyTicket'); + if ( $can_modify || $ticket->CurrentUserHasRight('ReplyToTicket') ) { + $titlebar_commands .= + "[" + . loc('Reply') + . "] "; + } + if ( $can_modify || $ticket->CurrentUserHasRight('CommentOnTicket') ) { + $titlebar_commands .= + "[Ticket + . "&QuoteTransaction=" + . $Transaction->Id + . "&Action=Comment\">" + . loc('Comment') . "]"; + } + if ( $ticket->CurrentUserHasRight('ForwardMessage') ) { + $titlebar_commands .= + "[". loc('Forward') . "]"; + } + if ( $can_modify + && RT->Config->Get('GnuPG')->{'Enable'} + && RT->Config->Get('GnuPG')->{'AllowEncryptDataInDB'} + && $ticket->CurrentUserHasRight('ForwardMessage') + ) { + $titlebar_commands .= + "[". loc('Encrypt/Decrypt') . "]"; + } + } +} +