1 %# REST/1.0/Forms/queue/default
10 my ($c, $o, $k, $e) = ("", [], {}, 0);
12 my $queue = new RT::Queue $session{CurrentUser};
13 my @fields = qw(Name Description CorrespondAddress CommentAddress
14 InitialPriority FinalPriority DefaultDueIn);
15 my %fields = map { lc $_ => $_ } @fields;
20 return [ "# Queue $id does not exist.", [], {}, 1 ];
30 Name => '<queue name>',
33 CorrespondAddress => "",
34 InitialPriority => "",
45 foreach my $k (keys %data) {
46 if (exists $create{lc $k}) {
47 $v{$create{lc $k}} = delete $data{$k};
51 if ($v{Name} eq '<queue name>') {
52 my %o = keys %$changes;
53 delete @o{"id", @fields};
55 "# Please set the queue name.",
56 [ "id", @fields, keys %o ], $changes, 1
62 return [ "# Could not create queue.", [], {}, 1 ];
67 push(@comments, "# Queue $id created.");
68 goto DONE if %data == 0;
75 push @data, [ id => "queue/".$queue->Id ];
76 foreach my $key (@fields) {
77 push @data, [ $key => $queue->$key ];
80 my %k = map {@$_} @data;
81 $o = [ map {$_->[0]} @data ];
85 my ($get, $set, $key, $val, $n, $s);
87 foreach $key (keys %data) {
92 if (exists $fields{$key}) {
96 next if $val eq $queue->$key;
97 ($n, $s) = $queue->$set($val);
99 elsif ($key ne 'id') {
101 $s = "Unknown field.";
107 push @comments, "# $key: $s";
109 my %o = keys %$changes;
110 delete @o{"id", @fields};
111 @$o = ("id", @fields, keys %o);
117 push(@comments, "# Queue $id updated.") unless $n == 0;
121 $c ||= join("\n", @comments) if @comments;
122 return [ $c, $o, $k, $e ];