[Rt-commit] rt branch, 4.0/cli-create-ticket-with-unknown-field, created. rt-4.0.5-94-gfd8c2eb

? sunnavy sunnavy at bestpractical.com
Fri Mar 23 07:56:01 EDT 2012


The branch, 4.0/cli-create-ticket-with-unknown-field has been created
        at  fd8c2eb743836e3275d04dade001717c2cf7827c (commit)

- Log -----------------------------------------------------------------
commit efa93722f315cf57393cda66a32e9f727cb584cf
Author: sunnavy <sunnavy at bestpractical.com>
Date:   Fri Mar 23 15:23:46 2012 +0800

    don't create ticket if there is unknown field
    
    see also #19642

diff --git a/share/html/REST/1.0/Forms/ticket/default b/share/html/REST/1.0/Forms/ticket/default
index 9ae803d..0cbc448 100755
--- a/share/html/REST/1.0/Forms/ticket/default
+++ b/share/html/REST/1.0/Forms/ticket/default
@@ -161,6 +161,17 @@ else {
             elsif (lc $k eq 'text') {
                 $text = delete $data{$k};
             }
+            elsif ( lc $k ne 'id' ) {
+                $e = 1;
+                push @$o, $k;
+                push(@comments, "# $k: Unknown field");
+            }
+        }
+
+        if ( $e ) {
+            unshift @comments, "# Could not create ticket.";
+            $k = \%data;
+            goto DONE;
         }
 
         # people fields allow multiple values

commit fd8c2eb743836e3275d04dade001717c2cf7827c
Author: sunnavy <sunnavy at bestpractical.com>
Date:   Fri Mar 23 15:58:22 2012 +0800

    cli test of creating ticket with unknown field

diff --git a/t/web/command_line_with_unknown_field.t b/t/web/command_line_with_unknown_field.t
index 736be4d..d63956b 100644
--- a/t/web/command_line_with_unknown_field.t
+++ b/t/web/command_line_with_unknown_field.t
@@ -3,7 +3,7 @@
 use strict;
 use File::Spec ();
 use Test::Expect;
-use RT::Test tests => 14, actual_server => 1;
+use RT::Test tests => 17, actual_server => 1;
 my ($baseurl, $m) = RT::Test->started_ok;
 my $rt_tool_path = "$RT::BinPath/rt";
 
@@ -19,6 +19,11 @@ expect_run(
     prompt => 'rt> ',
     quit => 'quit',
 );
+
+expect_send( q{create -t ticket set foo=bar}, "create ticket with unknown field" );
+expect_like(qr/foo: Unknown field/, 'foo is unknown field');
+expect_like(qr/Could not create ticket/, 'ticket is not created');
+
 expect_send(q{create -t ticket set subject='new ticket' add cc=foo at example.com}, "Creating a ticket...");
 
 expect_like(qr/Ticket \d+ created/, "Created the ticket");

-----------------------------------------------------------------------


More information about the Rt-commit mailing list