[Rt-commit] r19555 - in rt/3.999/trunk: .

sunnavy at bestpractical.com sunnavy at bestpractical.com
Thu May 7 03:34:27 EDT 2009


Author: sunnavy
Date: Thu May  7 03:34:27 2009
New Revision: 19555

Modified:
   rt/3.999/trunk/   (props changed)
   rt/3.999/trunk/lib/RT/Action/ConfigSystem.pm

Log:
 r20926 at sunnavys-mb (orig r19373):  sunnavy | 2009-04-30 15:21:04 +0800
 improve config system action


Modified: rt/3.999/trunk/lib/RT/Action/ConfigSystem.pm
==============================================================================
--- rt/3.999/trunk/lib/RT/Action/ConfigSystem.pm	(original)
+++ rt/3.999/trunk/lib/RT/Action/ConfigSystem.pm	Thu May  7 03:34:27 2009
@@ -91,15 +91,28 @@
 sub take_action {
     my $self = shift;
 
-            Jifty->log->error( 'ok' );
     for my $arg ( $self->argument_names ) {
         if ( $self->has_argument($arg) ) {
             my $value = $self->argument_value( $arg );
-            if ( $value =~ /^\[\s*(.*)\s*$\]/ ) {
-                $value = [ split /\s*,\s*/, $1 ];
-            }
-            elsif ( $value =~ /^{\s*(.*)\s*$}/ ) {
-                $value = { split /\s*(?:,|=>)\s*/, $1 };
+            if ($value && $value !~ /^{{\w+}}/ ) {
+                if ( $value =~ /^\[ \s* (.*?) \s* \]\s*$/x ) {
+                    my $v = $1;
+                    if ($v =~ /\S/ ) {
+                        $value = [ split /\s*,\s*/, $v ];
+                    }
+                    else {
+                        $value = [];
+                    }
+                }
+                elsif ( $value =~ /^{ \s* (.*?) \s* } \s* $/x ) {
+                    my $pair = $1;
+                    if ( $pair =~ /\S/ ) {
+                        $value = { split /\s*(?:,|=>)\s*/, $pair };
+                    }
+                    else {
+                        $value = {};
+                    }
+                }
             }
 
             RT->config->set( $arg, $value );


More information about the Rt-commit mailing list