[Rt-commit] r17260 - in rt/3.8/trunk: . share/html/REST/1.0/Forms/ticket t/web
falcone at bestpractical.com
falcone at bestpractical.com
Tue Dec 16 10:33:49 EST 2008
Author: falcone
Date: Tue Dec 16 10:33:48 2008
New Revision: 17260
Modified:
rt/3.8/trunk/ (props changed)
rt/3.8/trunk/bin/rt.in
rt/3.8/trunk/share/html/REST/1.0/Forms/ticket/default
rt/3.8/trunk/t/web/command_line.t
Log:
r42645 at ketch: falcone | 2008-12-16 10:33:37 -0500
* backed out 17250 (cli cleanup) until after 3.8.2
Modified: rt/3.8/trunk/bin/rt.in
==============================================================================
--- rt/3.8/trunk/bin/rt.in (original)
+++ rt/3.8/trunk/bin/rt.in Tue Dec 16 10:33:48 2008
@@ -1502,37 +1502,7 @@
# XXX: This should become a real parser, à la Text::ParseWords.
$line =~ s/^\s+//;
$line =~ s/\s+$//;
- my ( $a, $b ) = split /,/, $line, 2;
-
- while ($a) {
- no warnings 'uninitialized';
- if ( $a =~ /^'/ ) {
- my $s = $a;
- while ( $a !~ /'$/ || ( $a !~ /(\\\\)+'$/
- && $a =~ /(\\)+'$/ )) {
- ( $a, $b ) = split /,/, $b, 2;
- $s .= ',' . $a;
- }
- push @words, $s;
- }
- elsif ( $a =~ /^q{/ ) {
- my $s = $a;
- while ( $a !~ /}$/ ) {
- ( $a, $b ) =
- split /,/, $b, 2;
- $s .= ',' . $a;
- }
- $s =~ s/^q{/'/;
- $s =~ s/}/'/;
- push @words, $s;
- }
- else {
- push @words, $a;
- }
- ( $a, $b ) = split /,/, $b, 2;
- }
-
-
+ push @words, split /\s*,\s*/, $line;
}
return \@words;
Modified: rt/3.8/trunk/share/html/REST/1.0/Forms/ticket/default
==============================================================================
--- rt/3.8/trunk/share/html/REST/1.0/Forms/ticket/default (original)
+++ rt/3.8/trunk/share/html/REST/1.0/Forms/ticket/default Tue Dec 16 10:33:48 2008
@@ -229,21 +229,8 @@
my $vals = $ticket->CustomFieldValues($cf->Id());
my @out = ();
- if ( $cf->SingleValue ) {
- my $v = $vals->Next;
- push @out, $v->Content if $v;
- }
- else {
- while (my $v = $vals->Next()) {
- my $content = $v->Content;
- $content =~ s/'/\\'/g;
- if ( $v->Content =~ /,/ ) {
- push @out, q{'} . $content . q{'};
- }
- else {
- push @out, $content;
- }
- }
+ while (my $v = $vals->Next()) {
+ push @out, $v->Content;
}
push @data, [ ('CF.{' . $cf->Name . '}') => join ',', @out ];
}
@@ -340,77 +327,9 @@
$s = "Unknown custom field.";
}
else {
- my $vals = $ticket->CustomFieldValues($cf->id);
-
- if ( $cf->SingleValue ) {
- my $old = $vals->Next;
- if ( $old ) {
- if ( $val ne $old->Content ) {
- $old->Delete;
- ($n, $s) = $ticket->AddCustomFieldValue(
- Field => $cf, Value => $val );
- $s =~ s/^# // if defined $s;
- }
- }
- else {
- ($n, $s) = $ticket->AddCustomFieldValue(
+ ($n, $s) = $ticket->AddCustomFieldValue(
Field => $cf, Value => $val );
- $s =~ s/^# // if defined $s;
- }
- }
- else {
- my @new;
- my ( $a, $b ) = split /,/, $val, 2;
- while ($a) {
- no warnings 'uninitialized';
- if ( $a =~ /^'/ ) {
- my $s = $a;
- while ( $a !~ /'$/ || ( $a !~ /(\\\\)+'$/
- && $a =~ /(\\)+'$/ ) ) {
- ( $a, $b ) = split /,/, $b, 2;
- $s .= ',' . $a;
- }
- $s =~ s/^'//;
- $s =~ s/'$//;
- $s =~ s/\\'/'/g;
- push @new, $s;
- }
- elsif ( $a =~ /^q{/ ) {
- my $s = $a;
- while ( $a !~ /}$/ ) {
- ( $a, $b ) = split /,/, $b, 2;
- $s .= ',' . $a;
- }
- $s =~ s/^q{//;
- $s =~ s/}//;
- push @new, $s;
- }
- else {
- push @new, $a;
- }
- ( $a, $b ) = split /,/, $b, 2;
- }
-
- my %new;
- $new{$_}++ for @new;
-
- while (my $v = $vals->Next()) {
- my $c = $v->Content;
- if ( $new{$c} ) {
- $new{$c}--;
- }
- else {
- $v->Delete();
- }
- }
- for ( @new ) {
- while ( $new{$_} && $new{$_}-- ) {
- ($n, $s) = $ticket->AddCustomFieldValue(
- Field => $cf, Value => $_ );
- $s =~ s/^# // if defined $s;
- }
- }
- }
+ $s =~ s/^# // if defined $s;
}
}
elsif ($key ne 'id' && $key ne 'type' && $key ne 'creator') {
Modified: rt/3.8/trunk/t/web/command_line.t
==============================================================================
--- rt/3.8/trunk/t/web/command_line.t (original)
+++ rt/3.8/trunk/t/web/command_line.t Tue Dec 16 10:33:48 2008
@@ -3,7 +3,7 @@
use strict;
use File::Spec ();
use Test::Expect;
-use Test::More tests => 295;
+use Test::More tests => 243;
use RT::Test;
my ($baseurl, $m) = RT::Test->started_ok;
@@ -98,10 +98,6 @@
($val,$msg) = $othercf->Create(Name => 'My CF'.$$, Type => 'FreeformSingle', Queue => $queue_id);
ok($val,$msg);
-my $multiple_cf = RT::CustomField->new($RT::SystemUser);
-($val,$msg) = $multiple_cf->Create(Name => 'MultipleCF'.$$, Type =>
- 'FreeformMultiple', Queue => $queue_id);
-ok($val,$msg);
# add a comment to ticket
@@ -191,70 +187,12 @@
expect_send("show ticket/$ticket_id -f 'CF.{my CF$$}'", 'Checking initial value');
expect_like(qr/CF\.{my CF$$}: VALUE/i, 'Verified change');
expect_send("edit ticket/$ticket_id set 'CF.{my CF$$}=NEW' ", 'Changing CF...');
+expect_like(qr/Ticket $ticket_id updated/, 'Changed cf');
expect_send("show ticket/$ticket_id -f 'CF.{my CF$$}'", 'Checking new value');
expect_like(qr/CF\.{my CF$$}: NEW/i, 'Verified change');
expect_send("ls -l 'id = $ticket_id' -f 'CF.{my CF$$}'", 'Checking new value');
expect_like(qr/CF\.{my CF$$}: NEW/i, 'Verified change');
-# Test reading and setting single value custom field with commas or quotes
-expect_send("show ticket/$ticket_id -f CF-myCF$$", 'Checking initial value');
-expect_like(qr/CF\.{myCF$$}:/i, 'Verified change');
-expect_send("edit ticket/$ticket_id set CF-myCF$$=1,2,3", 'Changing CF...');
-expect_like(qr/Ticket $ticket_id updated/, 'Changed cf');
-expect_send("show ticket/$ticket_id -f CF-myCF$$", 'Checking new value');
-expect_like(qr/CF\.{myCF$$}: 1,2,3/i, 'Verified change');
-expect_send("edit ticket/$ticket_id set CF-myCF$$=\"1's,2,3\"", 'Changing CF...');
-expect_like(qr/Ticket $ticket_id updated/, 'Changed cf');
-expect_send("show ticket/$ticket_id -f CF-myCF$$", 'Checking new value');
-expect_like(qr/CF\.{myCF$$}: 1's,2,3/i, 'Verified change');
-
-# Test reading and setting custom fields with multiple values
-expect_send("show ticket/$ticket_id -f CF-MultipleCF$$", 'Checking initial value');
-expect_like(qr/CF\.{MultipleCF$$}:/i, 'Verified multiple cf change');
-expect_send("edit ticket/$ticket_id set CF.{MultipleCF$$}=1,2,3 ", 'Changing CF...');
-expect_like(qr/Ticket $ticket_id updated/, 'Changed multiple cf');
-expect_send("show ticket/$ticket_id -f CF.{MultipleCF$$}", 'Checking new value');
-expect_like(qr/CF\.{MultipleCF$$}: 1,\s*2,\s*3/i, 'Verified multiple cf change');
-expect_send("edit ticket/$ticket_id set CF.{MultipleCF$$}=a,b,c ", 'Changing CF...');
-expect_like(qr/Ticket $ticket_id updated/, 'Changed multiple cf');
-expect_send("show ticket/$ticket_id -f CF.{MultipleCF$$}", 'Checking new value');
-expect_like(qr/CF\.{MultipleCF$$}: a,\s*b,\s*c/i, 'Verified change');
-expect_send("edit ticket/$ticket_id del CF.{MultipleCF$$}=a", 'Changing CF...');
-expect_like(qr/Ticket $ticket_id updated/, 'del multiple cf');
-expect_send("show ticket/$ticket_id -f CF.{MultipleCF$$}", 'Checking new value');
-expect_like(qr/CF\.{MultipleCF$$}: b,\s*c/i, 'Verified multiple cf change');
-expect_send("edit ticket/$ticket_id add CF.{MultipleCF$$}=o", 'Changing CF...');
-expect_like(qr/Ticket $ticket_id updated/, 'Changed multiple cf');
-expect_send("show ticket/$ticket_id -f CF.{MultipleCF$$}", 'Checking new value');
-expect_like(qr/CF\.{MultipleCF$$}: b,\s*c,\s*o/i, 'Verified multiple cf change');
-
-expect_send("edit ticket/$ticket_id set CF.{MultipleCF$$}=\"'a,b,c'\" ", 'Changing CF...');
-expect_like(qr/Ticket $ticket_id updated/, 'Changed multiple cf');
-expect_send("show ticket/$ticket_id -f CF.{MultipleCF$$}", 'Checking new value');
-expect_like(qr/CF\.{MultipleCF$$}: 'a,b,c'/i, 'Verified change');
-expect_send("edit ticket/$ticket_id del CF.{MultipleCF$$}=a", 'Changing CF...');
-expect_like(qr/Ticket $ticket_id updated/, 'Changed multiple cf');
-expect_send("show ticket/$ticket_id -f CF.{MultipleCF$$}", 'Checking new value');
-expect_like(qr/CF\.{MultipleCF$$}: 'a,b,c'/i, 'Verified change');
-
-expect_send("edit ticket/$ticket_id set CF.{MultipleCF$$}=q{a,b,c}", 'Changing CF...');
-expect_like(qr/Ticket $ticket_id updated/, 'Changed multiple cf');
-expect_send("show ticket/$ticket_id -f CF.{MultipleCF$$}", 'Checking new value');
-expect_like(qr/CF\.{MultipleCF$$}: 'a,b,c'/i, 'Verified change');
-expect_send("edit ticket/$ticket_id del CF.{MultipleCF$$}=a", 'Changing CF...');
-expect_like(qr/Ticket $ticket_id updated/, 'Changed multiple cf');
-expect_send("show ticket/$ticket_id -f CF.{MultipleCF$$}", 'Checking new value');
-expect_like(qr/CF\.{MultipleCF$$}: 'a,b,c'/i, 'Verified change');
-expect_send("edit ticket/$ticket_id del CF.{MultipleCF$$}=\"'a,b,c'\"", 'Changing CF...');
-expect_like(qr/Ticket $ticket_id updated/, 'Changed multiple cf');
-expect_send("show ticket/$ticket_id -f CF.{MultipleCF$$}", 'Checking new value');
-expect_like(qr/CF\.{MultipleCF$$}: \s*$/i, 'Verified change');
-
-expect_send("edit ticket/$ticket_id set CF.{MultipleCF$$}=\"q{1,2's,3}\"", 'Changing CF...');
-expect_like(qr/Ticket $ticket_id updated/, 'Changed multiple cf');
-expect_send("show ticket/$ticket_id -f CF.{MultipleCF$$}", 'Checking new value');
-expect_like(qr/CF\.{MultipleCF$$}: '1,2\\'s,3'/i, 'Verified change');
-
# ...
# change a ticket's ...[other properties]...
# ...
@@ -540,6 +478,4 @@
expect_is($attachment_content,"Attachment contains original text");
}
-
-
1;
More information about the Rt-commit
mailing list