Putting 4.2.0 on top of 4.0.17
[usit-rt.git] / share / html / REST / 1.0 / Forms / transaction / default
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%# REST/1.0/Forms/transaction
49%#
50<%ARGS>
51$id
52$format => undef
53$fields => undef
54</%ARGS>
55<%INIT>
56my $trans = RT::Transactions->new($session{CurrentUser});
57my ($c, $o, $k, $e) = ("", [], {} , "");
58
59my $tid = $id;
60
61$trans->Limit(FIELD => 'Id', OPERATOR => '=', VALUE => $tid);
62
63if ($tid) {
64 my @data;
65 my $t = RT::Transaction->new($session{CurrentUser});
66 $t->Load($tid);
67 if ($format eq "l") {
af59614d
MKG
68 push @data, [ id => $t->Id ];
69 push @data, [ Ticket => $t->Ticket ]
70 if (!%$fields || exists $fields->{lc 'Ticket'});
71 push @data, [ TimeTaken => $t->TimeTaken ]
72 if (!%$fields || exists $fields->{lc 'TimeTaken'});
73 push @data, [ Type => $t->Type ]
74 if (!%$fields || exists $fields->{lc 'Type'});
75 push @data, [ Field => $t->Field ]
76 if (!%$fields || exists $fields->{lc 'Field'});
77 push @data, [ OldValue => $t->OldValue ]
78 if (!%$fields || exists $fields->{lc 'OldValue'});
79 push @data, [ NewValue => $t->NewValue ]
80 if (!%$fields || exists $fields->{lc 'NewValue'});
81 push @data, [ Data => $t->Data ]
82 if (!%$fields || exists $fields->{lc 'Data'});
83 push @data, [ Description => $t->Description ]
84 if (!%$fields || exists $fields->{lc 'Description'});
85 push @data, [ Content => $t->Content ]
86 if (!%$fields || exists $fields->{lc 'Content'});
87
88 if (!%$fields || exists $fields->{lc 'Content'}) {
89 my $creator = RT::User->new($session{CurrentUser});
90 $creator->Load($t->Creator);
91 push @data, [ Creator => $creator->Name ];
92 }
93 push @data, [ Created => $t->Created ]
94 if (!%$fields || exists $fields->{lc 'Created'});
95
96 if (!%$fields || exists $fields->{lc 'Attachments'}) {
97 my $attachlist;
98 my $attachments = $t->Attachments;
99 while (my $a = $attachments->Next) {
100 my $size = length($a->Content);
101 if ($size > 1024) {
102 $size = int($size/102.4)/10 . "k";
103 }
104 else {
105 $size .= "b";
106 }
107 my $name = (defined $a->Filename and length $a->Filename) ? $a->Filename : "untitled";
108 $attachlist .= "\n" . $a->Id.": $name ($size)";
109 }
110 push @data, [Attachments => $attachlist];
111 }
84fb5b46 112 } else {
af59614d
MKG
113 push @data, [ id => $t->Id ];
114 push @data, [ Description => $t->Description ];
84fb5b46
MKG
115 }
116
117 my %k = map {@$_} @data;
118 $o = [ map {$_->[0]} @data ];
119 $k = \%k;
120}
121#else {
122# my (@data, $tids);
123# $format ||= "s";
124# $format = "l" if (%$fields);
125#
126# while (my $t = $trans->Next) {
af59614d
MKG
127# my $tid = $t->Id;
128# if ($format eq "l") {
129# $tids .= "," if $tids;
130# $tids .= $tid;
131# } else {
132# push @$o, $tid;
133# $k->{$tid} = $t->Description;
134# }
84fb5b46
MKG
135# }
136#}
137
138return [ $c, $o, $k, $e ];
139
140</%INIT>