%#
%# COPYRIGHT:
%#
-%# This software is Copyright (c) 1996-2005 Best Practical Solutions, LLC
+%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
%# <jesse@bestpractical.com>
%#
%# (Except where explicitly superseded by other copyright notices)
%#
%# 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., 675 Mass Ave, Cambridge, MA 02139, USA.
+%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+%# 02110-1301 or visit their web page on the internet at
+%# http://www.gnu.org/copyleft/gpl.html.
%#
%#
%# CONTRIBUTION SUBMISSION POLICY:
my $field = '[a-zA-Z][a-zA-Z0-9_-]*';
my (%fields, @fields);
if ($fields) {
- $format = "l";
+ $format ||= "l";
unless ($fields =~ /^(?:$field,)*$field$/) {
$status = "400 Bad Request";
$output = "Invalid field specification: $fields";
while (my $ticket = $tickets->Next) {
$n++;
+ my $id = $ticket->Id;
if ($format eq "i") {
- $output .= "ticket/" . $ticket->Id . "\n";
+ $output .= "ticket/" . $id . "\n";
}
elsif ($format eq "s") {
- $output .= $ticket->Id . ": ". $ticket->Subject . "\n";
+ if ($fields) {
+ my $result = $m->comp("/REST/1.0/Forms/ticket/default", id => $id, format => $format, fields => \%fields);
+ my ($notes, $order, $key_values, $errors) = @$result;
+ # If it's the first time through, add our header
+ if ($n == 1) {
+ $output .= join("\t",@$order)."\n";
+ }
+ # Cut off the annoying ticket/ before the id;
+ $key_values->{'id'} = $id;
+ $output .= join("\t", map {$key_values->{$_}} @$order)."\n";
+
+
+ } else {
+ $output .= $ticket->Id . ": ". $ticket->Subject . "\n";
+ }
}
else {
- my $id = $ticket->Id;
- my $d = $m->comp("$RT::WebPath/REST/1.0/Forms/ticket/default", id => $id, format => $format, fields => \%fields);
+ my $d = $m->comp("/REST/1.0/Forms/ticket/default", id => $id, format => $format, fields => \%fields);
my ($c, $o, $k, $e) = @$d;
push @output, [ $c, $o, $k ];
}
$m->out("RT/". $RT::VERSION . " " . $status ."\n\n");
$m->out($output );
+return();
</%INIT>