import rt 3.2.2
[freeside.git] / rt / html / Ticket / Elements / ShowHistory
1 %# {{{ BEGIN BPS TAGGED BLOCK
2 %# 
3 %# COPYRIGHT:
4 %#  
5 %# This software is Copyright (c) 1996-2004 Best Practical Solutions, LLC 
6 %#                                          <jesse@bestpractical.com>
7 %# 
8 %# (Except where explicitly superseded by other copyright notices)
9 %# 
10 %# 
11 %# LICENSE:
12 %# 
13 %# This work is made available to you under the terms of Version 2 of
14 %# the GNU General Public License. A copy of that license should have
15 %# been provided with this software, but in any event can be snarfed
16 %# from www.gnu.org.
17 %# 
18 %# This work is distributed in the hope that it will be useful, but
19 %# WITHOUT ANY WARRANTY; without even the implied warranty of
20 %# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
21 %# General Public License for more details.
22 %# 
23 %# You should have received a copy of the GNU General Public License
24 %# along with this program; if not, write to the Free Software
25 %# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
26 %# 
27 %# 
28 %# CONTRIBUTION SUBMISSION POLICY:
29 %# 
30 %# (The following paragraph is not intended to limit the rights granted
31 %# to you to modify and distribute this software under the terms of
32 %# the GNU General Public License and is only of importance to you if
33 %# you choose to contribute your changes and enhancements to the
34 %# community by submitting them to Best Practical Solutions, LLC.)
35 %# 
36 %# By intentionally submitting any modifications, corrections or
37 %# derivatives to this work, or any other work intended for use with
38 %# Request Tracker, to Best Practical Solutions, LLC, you confirm that
39 %# you are the copyright holder for those contributions and you grant
40 %# Best Practical Solutions,  LLC a nonexclusive, worldwide, irrevocable,
41 %# royalty-free, perpetual, license to use, copy, create derivative
42 %# works based on those contributions, and sublicense and distribute
43 %# those contributions and any derivatives thereof.
44 %# 
45 %# }}} END BPS TAGGED BLOCK
46 <%perl>
47  if ($ShowDisplayModes or $ShowTitle) {
48 my $title;
49 my $titleright;
50 if ($ShowTitle) {
51     $title = loc('History');
52 }
53 else {
54     $title = '&nbsp;';
55 }
56 $titleright = loc('Display mode') . ":";
57 if ($ShowHeaders) {
58     $titleright .= "[<A HREF=\"" . $URIFile . "?id="
59       . $Ticket->id . "\">"
60       . loc("Brief headers")
61       . "</a>] <b>["
62       . loc("Full headers") . "]</b>";
63 }
64 else {
65     $titleright .= "<b>["
66       . loc("Brief headers")
67       . "]</b> [<A HREF=\""
68       . $URIFile
69       . "?ShowHeaders=1"
70       . "&id="
71       . $Ticket->id . "\">"
72       . loc("Full headers") . "</a>]";
73 }
74 </%perl>
75 <& /Elements/TitleBoxStart, title => $title, titleright => $titleright, bodyclass=> ''&>
76 % }
77
78 <TABLE WIDTH=100% CELLSPACING=0 CELLPADDING=2 BORDER=0>
79 <%perl>
80 my @attachments = @{$Attachments->ItemsArrayRef()};
81 my @attachment_content = @{$AttachmentContent->ItemsArrayRef()};
82
83
84
85
86
87 while ( my $Transaction = $Transactions->Next ) {
88     my $skip = 0;
89     $m->comp( '/Elements/Callback',
90               _CallbackName => 'SkipTransaction',
91               Transaction   => $Transaction,
92               skip          => \$skip,
93               %ARGS );
94     next if $skip;
95     $i++;
96
97     my @trans_attachments = grep { $_->TransactionId == $Transaction->Id } @attachments;
98
99     my $trans_content = {};
100     grep { ($_->TransactionId == $Transaction->Id ) && ($trans_content->{$_->Id} = $_)  } @attachment_content;
101
102    
103     #Args is first because we're clobbering the "Attachments" parameter 
104     $m->comp( 'ShowTransaction',
105             %ARGS,
106
107               AttachPath          => $AttachPath,
108               UpdatePath           => $UpdatePath,
109               Ticket               => $Ticket,
110               Transaction          => $Transaction,
111               ShowHeaders          => $ShowHeaders,
112               Collapsed            => $Collapsed,
113               RowNum               => $i,
114               ShowTitleBarCommands => $ShowTitleBarCommands,
115               Attachments          => \@trans_attachments,
116               AttachmentContent    => $trans_content,
117               LastTransaction      => $Transactions->IsLast
118  );
119 }
120
121 </%perl>
122 </TABLE>
123 % if ($ShowDisplayModes or $ShowTitle) {
124 <& /Elements/TitleBoxEnd &>
125 % }
126 <%INIT>
127 my $Transactions = new RT::Transactions($session{'CurrentUser'});
128 if ($Tickets) {
129     while (my $t = $Tickets->Next) {
130         $Transactions->Limit(FIELD => 'Ticket',
131                              OPERATOR => '=',
132                              VALUE => $t->Id);
133     }
134 } else {
135     $Transactions = $Ticket->Transactions;
136 }
137 my $i;
138
139 $Attachments ||=  $m->comp('/Ticket/Elements/FindAttachments', Ticket => $Ticket, Tickets => $Tickets || undef);
140 $AttachmentContent ||= $m->comp('/Ticket/Elements/LoadTextAttachments', Ticket => $Ticket);
141
142 </%INIT>
143 <%ARGS>
144 $URIFile => $RT::WebPath."/Ticket/Display.html"
145 $Ticket => undef
146 $Tickets => undef
147 $Attachments => undef
148 $AttachmentContent => undef
149 $ShowHeaders => undef
150 $Collapsed => undef
151 $ShowTitle => 1
152 $ShowDisplayModes => 1
153 $ShowTitleBarCommands => 1
154 $AttachPath => $RT::WebPath."/Ticket/Attachment"
155 $UpdatePath => $RT::WebPath."/Ticket/Update.html"
156
157 </%ARGS>