[Rt-commit] rt branch, admin_ui, updated. 663b92e86fb3b39ff9e06eeedcb37e9f909c23a7

sartak at bestpractical.com sartak at bestpractical.com
Wed Dec 30 23:36:38 EST 2009


The branch, admin_ui has been updated
       via  663b92e86fb3b39ff9e06eeedcb37e9f909c23a7 (commit)
      from  a477b8be22a494e653a4d79f469fc0a4e4c0312a (commit)

Summary of changes:
 lib/RT/Action/WithCustomFields.pm |   72 +++++++++++++++++++++----------------
 1 files changed, 41 insertions(+), 31 deletions(-)

- Log -----------------------------------------------------------------
commit 663b92e86fb3b39ff9e06eeedcb37e9f909c23a7
Author: Shawn M Moore <sartak at bestpractical.com>
Date:   Wed Dec 30 23:36:17 2009 -0500

    Factor out _setup_custom_field and rename some of our many "args" vars

diff --git a/lib/RT/Action/WithCustomFields.pm b/lib/RT/Action/WithCustomFields.pm
index d80335e..08d152c 100644
--- a/lib/RT/Action/WithCustomFields.pm
+++ b/lib/RT/Action/WithCustomFields.pm
@@ -21,39 +21,49 @@ sub _setup_custom_fields {
     my %args = @_;
     my $cfs = $args{cfs};
 
-    my @args;
+    my @cf_args;
+
     while ( my $cf = $cfs->next ) {
-        my $render_as = $cf->type_for_rendering;
-        my $name      = 'cf_' . $cf->id;
-
-        my %args = (
-            name      => $name,
-            label     => $cf->name,
-            render_as => $render_as,
-        );
-
-        if ( $render_as =~ /Select/i ) {
-            $args{valid_values} = [
-                {
-                    collection   => $cf->values,
-                    display_from => 'name',
-                    value_from   => 'name',
-                }
-            ];
-        }
-        elsif ( $render_as =~ /Combobox/i ) {
-            $args{available_values} = [
-                {
-                    collection   => $cf->values,
-                    display_from => 'name',
-                    value_from   => 'name',
-                }
-            ];
-        }
-
-        push @args, \%args;
+        my $cf_args = $self->setup_custom_field($cf);
+        push @cf_args, $cf_args;
     }
-    return @args;
+
+    return @cf_args;
+}
+
+sub _setup_custom_field {
+    my $self = shift;
+    my $cf = shift;
+
+    my $render_as = $cf->type_for_rendering;
+    my $name      = 'cf_' . $cf->id;
+
+    my %args = (
+        name      => $name,
+        label     => $cf->name,
+        render_as => $render_as,
+    );
+
+    if ( $render_as =~ /Select/i ) {
+        $args{valid_values} = [
+            {
+                collection   => $cf->values,
+                display_from => 'name',
+                value_from   => 'name',
+            }
+        ];
+    }
+    elsif ( $render_as =~ /Combobox/i ) {
+        $args{available_values} = [
+            {
+                collection   => $cf->values,
+                display_from => 'name',
+                value_from   => 'name',
+            }
+        ];
+    }
+
+    return \%args;
 }
 
 1;

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


More information about the Rt-commit mailing list