[Rt-commit] rt branch, create-action, updated. c990d4dafaa1b0a8594992e762c0f10818cce958

sartak at bestpractical.com sartak at bestpractical.com
Fri Sep 25 17:00:13 EDT 2009


The branch, create-action has been updated
       via  c990d4dafaa1b0a8594992e762c0f10818cce958 (commit)
      from  7c9c5f5ecb679d01812bea4c19bcc4bc4ce3e233 (commit)

Summary of changes:
 lib/RT/Action/CreateTicket.pm |   35 ++++++++++++++++++++++-------------
 1 files changed, 22 insertions(+), 13 deletions(-)

- Log -----------------------------------------------------------------
commit c990d4dafaa1b0a8594992e762c0f10818cce958
Author: Shawn M Moore <sartak at bestpractical.com>
Date:   Fri Sep 25 16:50:23 2009 -0400

    Factor away some duplication between ticket and txn cfs

diff --git a/lib/RT/Action/CreateTicket.pm b/lib/RT/Action/CreateTicket.pm
index d8b5ede..96d7c33 100644
--- a/lib/RT/Action/CreateTicket.pm
+++ b/lib/RT/Action/CreateTicket.pm
@@ -202,13 +202,15 @@ sub take_action {
     HTML::Mason::Commands::create_ticket(%{ $self->argument_values });
 }
 
-sub add_ticket_custom_fields {
-    my $self  = shift;
-    my $queue = shift;
+sub _add_custom_fields {
+    my $self = shift;
+    my %args = @_;
+
+    my $cfs    = $args{cfs};
+    my $method = $args{method};
 
-    my $cfs = $queue->ticket_custom_fields;
     while (my $cf = $cfs->next) {
-        $self->add_ticket_custom_field_parameter(
+        $self->$method(
             name     => $cf->name,
             defaults => {
                 render_as => $cf->type_for_rendering,
@@ -217,19 +219,26 @@ sub add_ticket_custom_fields {
     }
 }
 
+sub add_ticket_custom_fields {
+    my $self  = shift;
+    my $queue = shift;
+
+    my $cfs = $queue->ticket_custom_fields;
+    $self->_add_custom_fields(
+        cfs    => $cfs,
+        method => 'add_ticket_custom_field_parameter',
+    );
+}
+
 sub add_ticket_transaction_custom_fields {
     my $self  = shift;
     my $queue = shift;
 
     my $cfs = $queue->ticket_transaction_custom_fields;
-    while (my $cf = $cfs->next) {
-        $self->add_ticket_transaction_custom_field_parameter(
-            name     => $cf->name,
-            defaults => {
-                render_as => $cf->type_for_rendering,
-            },
-        );
-    }
+    $self->_add_custom_fields(
+        cfs    => $cfs,
+        method => 'add_ticket_transaction_custom_field_parameter',
+    );
 }
 
 sub _add_parameter_type {

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


More information about the Rt-commit mailing list