summaryrefslogtreecommitdiff
path: root/rt/html/REST/1.0/dhandler
diff options
context:
space:
mode:
Diffstat (limited to 'rt/html/REST/1.0/dhandler')
-rw-r--r--rt/html/REST/1.0/dhandler21
1 files changed, 14 insertions, 7 deletions
diff --git a/rt/html/REST/1.0/dhandler b/rt/html/REST/1.0/dhandler
index 6cf45b0..7406520 100644
--- a/rt/html/REST/1.0/dhandler
+++ b/rt/html/REST/1.0/dhandler
@@ -2,7 +2,7 @@
%#
%# 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)
@@ -22,7 +22,9 @@
%#
%# 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:
@@ -61,7 +63,7 @@ my $object = $m->dhandler_arg;
my $name = qr{[\w.-]+};
my $list = '(?:(?:\d+-)?\d+,)*(?:\d+-)?\d+';
my $label = '[a-zA-Z0-9@_.+-]+';
-my $field = '[a-zA-Z][a-zA-Z0-9_-]*';
+my $field = '[a-zA-Z](?:[a-zA-Z0-9_-]|\s+)*';
my $labels = "(?:$label,)*$label";
# We must handle requests such as the following:
@@ -72,6 +74,7 @@ my $labels = "(?:$label,)*$label";
# http://.../REST/1.0/ticket/edit
# 4. http://.../REST/1.0/ticket/nn (all possibly with a single form).
# http://.../REST/1.0/ticket/nn/history
+# http://.../REST/1.0/ticket/nn/comment
# http://.../REST/1.0/ticket/nn/attachment/1
#
# Objects are specified by their type, and either a unique numeric ID,
@@ -290,7 +293,12 @@ foreach $object (@objects) {
# We won't pass $e through to compose, trusting instead that the
# handler added suitable comments for the user.
if ($e) {
- $status = "409 Syntax Error" if @$o;
+ if (@$o) {
+ $status = "409 Syntax Error";
+ }
+ else {
+ $status = "400 Bad Request";
+ }
push @output, [ $c, $o, $k ];
}
else {
@@ -303,7 +311,6 @@ unshift(@output, [ join "\n", @comments ]) if @comments;
$output = form_compose(\@output);
OUTPUT:
+$m->out("RT/".$RT::VERSION ." ".$status ."\n\n$output\n") if ($output || $status != 200);
+return;
</%INIT>
-RT/<% $RT::VERSION %> <% $status %>
-
-<% $output |n %>