Upgrade to 4.0.10.
[usit-rt.git] / share / html / Ticket / Elements / ShowHistory
CommitLineData
84fb5b46
MKG
1%# BEGIN BPS TAGGED BLOCK {{{
2%#
3%# COPYRIGHT:
4%#
403d7b0b 5%# This software is Copyright (c) 1996-2013 Best Practical Solutions, LLC
84fb5b46
MKG
6%# <sales@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., 51 Franklin Street, Fifth Floor, Boston, MA
26%# 02110-1301 or visit their web page on the internet at
27%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
28%#
29%#
30%# CONTRIBUTION SUBMISSION POLICY:
31%#
32%# (The following paragraph is not intended to limit the rights granted
33%# to you to modify and distribute this software under the terms of
34%# the GNU General Public License and is only of importance to you if
35%# you choose to contribute your changes and enhancements to the
36%# community by submitting them to Best Practical Solutions, LLC.)
37%#
38%# By intentionally submitting any modifications, corrections or
39%# derivatives to this work, or any other work intended for use with
40%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
41%# you are the copyright holder for those contributions and you grant
42%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
43%# royalty-free, perpetual, license to use, copy, create derivative
44%# works based on those contributions, and sublicense and distribute
45%# those contributions and any derivatives thereof.
46%#
47%# END BPS TAGGED BLOCK }}}
48<%doc>
49# This is (ab)used in Admin/(Users|Groups)/History.html and should probably
50# be generalized at some point.
51</%doc>
52<%perl>
53if ($ShowDisplayModes or $ShowTitle) {
54 my $title = $ShowTitle
55 ? loc('History')
56 : '&nbsp;';
57
58 my $titleright;
59
60 if ($ShowDisplayModes) {
61 $titleright = '';
62
63 my $open_all = $m->interp->apply_escapes( loc("Show all quoted text"), 'j' );
64 my $open_html = $m->interp->apply_escapes( loc("Show all quoted text"), 'h' );
65 my $close_all = $m->interp->apply_escapes( loc("Hide all quoted text"), 'j' );
66 $titleright .= '<a href="#" data-direction="open" '
67 . qq{onclick="return toggle_all_folds(this, $open_all, $close_all);"}
68 . ">$open_html</a> &mdash; ";
69
70 if ($ShowHeaders) {
71 $titleright .= qq{<a href="$URIFile?id=} .
72 $Ticket->id.qq{">} .
73 loc("Show brief headers") .
74 qq{</a>};
75 } else {
76 $titleright .= qq{<a href="$URIFile?ShowHeaders=1;id=} .
77 $Ticket->id.qq{">} .
78 loc("Show full headers") .
79 qq{</a>};
80 }
81 }
82</%perl>
83<div class="history">
84<& /Widgets/TitleBoxStart, title => $title, titleright_raw => $titleright &>
85% }
86<div id="ticket-history">
87<%perl>
88my $trans_content = {};
89my $trans_attachments = {};
90
91for my $content (@{$AttachmentContent->ItemsArrayRef()}) {
92 $trans_content->{$content->TransactionId}->{$content->Id} = $content;
93}
94
95for my $attachment (@{$Attachments->ItemsArrayRef()}) {
96 push (@{$trans_attachments->{$attachment->TransactionId}}, $attachment)
97}
98
99while ( my $Transaction = $Transactions->Next ) {
100 my $skip = 0;
101 $m->callback(
102 %ARGS,
103 Transaction => $Transaction,
104 skip => \$skip,
105 CallbackName => 'SkipTransaction',
106 );
107 next if $skip;
108
109 $i++;
110
111 my $IsLastTransaction = 0;
112 if ( RT->Config->Get( 'OldestTransactionsFirst', $session{'CurrentUser'} )){
113 $IsLastTransaction = $Transactions->IsLast;
114 } else {
115 $IsLastTransaction = 1 if ( $i == 1 );
116 }
117
118 #Args is first because we're clobbering the "Attachments" parameter
119 $m->comp( 'ShowTransaction',
120 %ARGS,
121
122 Ticket => $Ticket,
123 Transaction => $Transaction,
124 ShowHeaders => $ShowHeaders,
125 RowNum => $i,
126 Attachments => $trans_attachments->{$Transaction->id},
127 AttachmentContent => $trans_content,
128 LastTransaction => $IsLastTransaction
129 );
130
131# manually flush the content buffer after each txn, so the user sees
132# some update
133$m->flush_buffer();
134}
135
136</%perl>
137</div>
138% if ($ShowDisplayModes or $ShowTitle) {
139<& /Widgets/TitleBoxEnd &>
140</div>
141% }
142<%INIT>
143
144my $i;
145$Transactions ||= $m->comp('/Ticket/Elements/FindTransactions',Ticket => $Ticket, Tickets => $Tickets || undef);
146$Attachments ||= $m->comp('/Ticket/Elements/FindAttachments', Ticket => $Ticket, Tickets => $Tickets || undef);
147$AttachmentContent ||= $m->comp('/Ticket/Elements/LoadTextAttachments', Ticket => $Ticket);
148
149</%INIT>
150<%ARGS>
151$URIFile => RT->Config->Get('WebPath')."/Ticket/Display.html"
152$Ticket => undef
153$Tickets => undef
154$Transactions => undef
155$Attachments => undef
156$AttachmentContent => undef
157$ShowHeaders => undef
158$ShowTitle => 1
159$ShowDisplayModes => 1
160$WarnUnsigned => undef
161</%ARGS>