[Rt-commit] rt branch, create-action,	updated. 9ec73e2e28b7dce3d9873bafdda93160e97b7703
    sartak at bestpractical.com 
    sartak at bestpractical.com
       
    Thu Sep  3 09:36:51 EDT 2009
    
    
  
The branch, create-action has been updated
       via  9ec73e2e28b7dce3d9873bafdda93160e97b7703 (commit)
      from  cab5c13ac57054622ad9dfee8bf32e0270c113d2 (commit)
Summary of changes:
 lib/RT/Action/CreateTicket.pm |   30 +++++++++++++++++++++++++-----
 lib/RT/View/Ticket/Create.pm  |    5 ++++-
 2 files changed, 29 insertions(+), 6 deletions(-)
- Log -----------------------------------------------------------------
commit 9ec73e2e28b7dce3d9873bafdda93160e97b7703
Author: Shawn M Moore <sartak at bestpractical.com>
Date:   Thu Sep 3 09:36:29 2009 -0400
    Generalize requestors into role_groups
diff --git a/lib/RT/Action/CreateTicket.pm b/lib/RT/Action/CreateTicket.pm
index 9f44008..2a92b51 100644
--- a/lib/RT/Action/CreateTicket.pm
+++ b/lib/RT/Action/CreateTicket.pm
@@ -15,11 +15,6 @@ use Jifty::Action schema {
     param owner =>
         render as 'select',
         valid_values are RT->nobody;
-
-    param requestors =>
-        render as 'text',
-        display_length is 40,
-        default is defer { Jifty->web->current_user->email };
 };
 
 sub after_set_queue {
@@ -29,6 +24,16 @@ sub after_set_queue {
 
     $self->set_valid_statuses($queue);
     $self->set_valid_owners($queue);
+
+    $self->add_role_group_parameter(
+        name          => 'requestors',
+        default_value => Jifty->web->current_user->email,
+    );
+}
+
+sub role_group_parameters {
+    my $self = shift;
+    return @{ $self->{_role_group_parameters} || [] };
 }
 
 sub set_valid_statuses {
@@ -76,5 +81,20 @@ sub set_valid_owners {
     ];
 }
 
+sub add_role_group_parameter {
+    my $self = shift;
+    my %args = @_;
+
+    my $name = delete $args{name};
+
+    push @{ $self->{_role_group_parameters} }, $name;
+
+    $self->{_cached_arguments}{$name} = {
+        render_as      => 'text',
+        display_length => 40,
+        %args,
+    };
+}
+
 1;
 
diff --git a/lib/RT/View/Ticket/Create.pm b/lib/RT/View/Ticket/Create.pm
index d826623..170e82a 100644
--- a/lib/RT/View/Ticket/Create.pm
+++ b/lib/RT/View/Ticket/Create.pm
@@ -106,7 +106,10 @@ sub show_basics {
 
         render_param($create, 'status');
         render_param($create, 'owner');
-        render_param($create, 'requestors');
+
+        for my $role_group ($create->role_group_parameters) {
+            render_param($create, $role_group);
+        }
 
         $create->button(label => _('Create'));
     };
-----------------------------------------------------------------------
    
    
More information about the Rt-commit
mailing list