%# BEGIN BPS TAGGED BLOCK {{{
-%#
+%#
%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2009 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
+%#
+%# This software is Copyright (c) 1996-2016 Best Practical Solutions, LLC
+%# <sales@bestpractical.com>
+%#
%# (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
%# 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 }}}
%# REST/1.0/Forms/ticket/history
%#
$fields => undef
</%ARGS>
<%INIT>
-my $ticket = new RT::Ticket $session{CurrentUser};
+my $ticket = RT::Ticket->new($session{CurrentUser});
my ($c, $o, $k, $e) = ("", [], {}, "");
$ticket->Load($id);
if ($tid) {
my @data;
- my $t = new RT::Transaction $session{CurrentUser};
-
+ my $t = RT::Transaction->new($session{CurrentUser});
+
# this paragraph limits the transaction ID query to transactions on this ticket.
# Otherwise you can query any transaction from any ticket, which makes no sense.
my $Transactions = $ticket->Transactions;
my $tok=0;
while (my $T = $Transactions->Next()) {
- $tok=1 if ($T->Id == $tid)
+ $tok=1 if ($T->Id == $tid)
}
if ($tok) {
- $t->Load($tid);
+ $t->Load($tid);
} else {
- return [ "# Transaction $tid is not related to Ticket $id", [], {}, 1 ];
+ return [ "# Transaction $tid is not related to Ticket $id", [], {}, 1 ];
}
push @data, [ id => $t->Id ];
push @data, [ Ticket => $t->Ticket ]
- if (!%$fields || exists $fields->{lc 'Ticket'});
+ if (!%$fields || exists $fields->{lc 'Ticket'});
push @data, [ TimeTaken => $t->TimeTaken ]
- if (!%$fields || exists $fields->{lc 'TimeTaken'});
+ if (!%$fields || exists $fields->{lc 'TimeTaken'});
push @data, [ Type => $t->Type ]
- if (!%$fields || exists $fields->{lc 'Type'});
+ if (!%$fields || exists $fields->{lc 'Type'});
push @data, [ Field => $t->Field ]
- if (!%$fields || exists $fields->{lc 'Field'});
+ if (!%$fields || exists $fields->{lc 'Field'});
push @data, [ OldValue => $t->OldValue ]
- if (!%$fields || exists $fields->{lc 'OldValue'});
+ if (!%$fields || exists $fields->{lc 'OldValue'});
push @data, [ NewValue => $t->NewValue ]
- if (!%$fields || exists $fields->{lc 'NewValue'});
+ if (!%$fields || exists $fields->{lc 'NewValue'});
push @data, [ Data => $t->Data ]
- if (!%$fields || exists $fields->{lc 'Data'});
+ if (!%$fields || exists $fields->{lc 'Data'});
push @data, [ Description => $t->Description ]
- if (!%$fields || exists $fields->{lc 'Description'});
+ if (!%$fields || exists $fields->{lc 'Description'});
push @data, [ Content => $t->Content ]
- if (!%$fields || exists $fields->{lc 'Content'});
+ if (!%$fields || exists $fields->{lc 'Content'});
- if (!%$fields || exists $fields->{lc 'Content'}) {
- my $creator = new RT::User $session{CurrentUser};
- $creator->Load($t->Creator);
- push @data, [ Creator => $creator->Name ];
+ if (!%$fields || exists $fields->{lc 'Content'}) {
+ my $creator = RT::User->new($session{CurrentUser});
+ $creator->Load($t->Creator);
+ push @data, [ Creator => $creator->Name ];
}
push @data, [ Created => $t->Created ]
- if (!%$fields || exists $fields->{lc 'Created'});
+ if (!%$fields || exists $fields->{lc 'Created'});
if (!%$fields || exists $fields->{lc 'Attachments'}) {
- my $attachlist;
- my $attachments = $t->Attachments;
- while (my $a = $attachments->Next) {
- my $size = length($a->Content||'');
- if ($size > 1024) { $size = int($size/102.4)/10 . "k" }
- else { $size .= "b" }
- $attachlist .= "\n" . $a->Id.": ".($a->Filename || "untitled")." (".$size.")";
- }
-
- push @data, [Attachments => $attachlist];
+ my $attachlist;
+ my $attachments = $t->Attachments;
+ while (my $a = $attachments->Next) {
+ my $size = length($a->Content||'');
+ if ($size > 1024) { $size = int($size/102.4)/10 . "k" }
+ else { $size .= "b" }
+ my $name = (defined $a->Filename and length $a->Filename) ? $a->Filename : "untitled";
+ $attachlist .= "\n" . $a->Id.": $name ($size)";
+ }
+
+ push @data, [Attachments => $attachlist];
}
my %k = map {@$_} @data;
$format = "l" if (%$fields);
while (my $t = $trans->Next) {
- my $tid = $t->Id;
-
- if ($format eq "l") {
- $tids .= "," if $tids;
- $tids .= $tid;
- } else {
- push @$o, $tid;
- $k->{$tid} = $t->Description;
- }
+ my $tid = $t->Id;
+
+ if ($format eq "l") {
+ $tids .= "," if $tids;
+ $tids .= $tid;
+ } else {
+ push @$o, $tid;
+ $k->{$tid} = $t->Description;
+ }
}
if ($format eq "l") {
- my @tid;
- push @tid, "ticket/$id/history/id/$tids";
- my $fieldstring;
- foreach my $key (keys %$fields) {
- $fieldstring .= "," if $fieldstring;
- $fieldstring .= $key;
- }
- my ($content, $forms);
- $m->subexec("/REST/1.0/show",
- id => \@tid,
- format => $format,
+ my @tid;
+ push @tid, "ticket/$id/history/id/$tids";
+ my $fieldstring;
+ foreach my $key (keys %$fields) {
+ $fieldstring .= "," if $fieldstring;
+ $fieldstring .= $key;
+ }
+ my ($content, $forms);
+ $m->subexec("/REST/1.0/show",
+ id => \@tid,
+ format => $format,
fields => $fieldstring);
- return [ $c, $o, $k, $e ];
+ return [ $c, $o, $k, $e ];
}
}